Pythonのcsvモジュールでwriterを使いたい

PythonのcsvモジュールのDictWriterの使用方法は以下で記事にしました。

PythonのcsvモジュールでDictWriterを使いたい

次は、writerオブジェクトの使用方法です。

DictWriterは辞書型のデータを扱っているときは便利ですが、単にデータをcsvへ出力したい場合はwriterオブジェクトです。
writer のドキュメントは こちら です。

writerオブジェクトのサンプルコードです。

import os
import csv

filename = 'test_a.csv'
file_path = os.path.join(os.getcwd(), filename)
f = open(file_path, 'w', newline='')
writer = csv.writer(f)
writer.writerow(['あめ', 'チョコ', 'アイス'])
writer.writerow(['pen', 'car', 'cake'])
f.close()

重要なのは、open時にnewline=”を書くことです。
理由は ここ に書かれています。

文字コードを “Shift-JIS” にしたい場合は、open時にencodingで指定します。
区切り文字 は指定しなければ、”, (カンマ)” になりますが、指定したい場合はwriterオブジェクト生成時にdelimiterで指定します。

import os
import csv

filename = 'test_b.csv'
file_path = os.path.join(os.getcwd(), filename)
f = open(file_path, 'w', newline='', encoding='sjis')
writer = csv.writer(f, delimiter=' ')
writer.writerow(['あめ', 'チョコ', 'アイス'])
writer.writerow(['pen', 'car', 'cake'])
f.close()