Python - CSVの読み書き

Ptyhonでcsvファイルの読み書きを行います。

CSVファイルの書き込み

Pythonで標準機能のcsvライブラリを使い、CSVファイルを出力します。

[コード]

1
2
3
4
5
6
7
8
import csv

with open('test.csv', 'w') as f:
writer = csv.writer(f, delimiter=',', quotechar='"',lineterminator='\n')
writer.writerow(['ID', '商品名', '値段'])
writer.writerow(['10', 'SDカード', '500'])
writer.writerow(['20', 'マウス', '300'])
writer.writerow(['30', 'マジック(赤,青)', '150'])

実行すると次のようなCSVファイルが出力されます。

[出力されるCSVファイル]

ID,商品名,値段
10,SDカード,500
20,マウス,300
30,"マジック(赤,青)",150

カンマのあるデータは、quotecharで指定した文字(ダブルクォーテーション)でくくられます。

CSVファイルの読み込み

上記で出力したCSVファイルを読み込んでみます。

[コード]

1
2
3
4
5
6
import csv

with open('test.csv', 'r') as f:
reader = csv.reader(f, delimiter=',', quotechar='"')
for cells in reader:
print(cells)

実行結果は下記の通りです。

[実行結果]

['ID', '商品名', '値段']
['10', 'SDカード', '500']
['20', 'マウス', '300']
['30', 'マジック(赤,青)', '150']

ダブルクォーテーションでくくられた中にカンマがある場合も、問題なく1つの要素として読み込まれていることが分かります。