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'])