複数行のCSVの書き込み

Pythonで複数行のCSVの書き込みをおさらいしておきます。


その前に、一行だけCSVに書きこむ方法も念の為メモ。

#!/usr/bin/env python

import csv

csvfile = "/tmp/spam.csv"
csvdata = ["spam", "eggs"]

writer = csv.writer(file(csvfile, 'w'))
writer.writerow(csvdata)


上のコードを実行すると、/tmp/spam.csvファイルの中身はこうなります。

spam,eggs


なので、複数行書きこむときはこうします。

#!/usr/bin/env python

import csv

csvdata = [ ["New Zealand", "Wellington"], ["Japan", "Tokyo"]  ]
csvfile = "/tmp/spam.csv"

writer = csv.writer(file(csvfile, 'w'))
for row in csvdata:
    writer.writerow(row)


これで、/tmp/spam.csvファイルの中身はこうなります。

New Zealand,Wellington
Japan,Tokyo