Python 標準ライブラリ csv CSVファイル
Publish date: 2021-08-09
ライブラリcsvを使うと、CSVファイルの読み込み・書き込みを行える。
CSVファイルの書き込み
csv.writerでCSVファイルに書き込むためのwriterオブジェクトを取得できる。
writerowで1行、writerowsで指定した行分の書き込みを行う。
引数には配列を指定する。
import csv
with open('sample.csv', 'w', newline='', encoding= 'utf-8') as f:
w = csv.writer(f)
w.writerow(['Name', 'Age', 'Type'])
w.writerow(['太郎', 20, 'AAA'])
rows = list()
rows.append(['次郎', 35, 'BBB'])
rows.append(['花子', 30, 'AAA'])
w.writerows(rows)csv.DictWriterで、列名を指定する形式でのCSVファイル書き込みを行える。
with open('sample2.csv', 'w', newline='', encoding= 'utf-8') as f:
fieldnames = ['Name', 'Age', 'Type']
w = csv.DictWriter(f, fieldnames=fieldnames)
w.writeheader()
w.writerow({'Name':'太郎', 'Age':20, 'Type':'AAA'})
rows = list()
rows.append({'Name':'次郎', 'Age':35, 'Type':'BBB'})
rows.append({'Name':'花子', 'Age':30, 'Type':'AAA'})
w.writerows(rows)CSVファイル読み込み
csv.readerでCSVファイル読み込み用のreaderオブジェクトを取得できる。
with open('sample.csv', 'r', newline='', encoding= 'utf-8') as f:
r = csv.reader(f)
for line in r:
print(r.line_num)
print(','.join(line)) csv.DictReaderで、列名を指定する形式でのCSVファイル読み込みを行える。
with open('sample.csv', 'r', newline='', encoding= 'utf-8') as f:
r = csv.DictReader(f)
for line in r:
print(r.line_num)
print(line)
print(line['Name'])