概要とサンプルコード
PythonでデータをCSV (Comma Separated Values) に書き出すには、標準ライブラリのcsvモジュールを使用します。
以下は、リスト内のデータをCSVファイルに書き出す例です。
import csv # データを準備する data = [["John", "Doe", 30], ["Jane", "Doe", 25]] # ファイルを開く with open("data.csv", "w", newline="") as f: # CSV writer オブジェクトを作成する writer = csv.writer(f) # データを書き込む for row in data: writer.writerow(row)
この例では、csv.writer()関数を使用して、CSV writer オブジェクトを作成しています。
このオブジェクトを使用して、writerow()メソッドを呼び出して、1行ごとにデータを書き込んでいます。
UTF-8形式で出力する場合
Pythonのcsvモジュールでは、デフォルトではASCII文字セットを使用してデータをエンコードして出力します。
UTF-8形式で出力するには、encodingにUTF-8を指定し、csv.writer()関数の引数に、csv.QUOTE_ALLを指定します。
次に、実際の例を示します。
import csv # データを準備する data = [["John", "Doe", 30], ["Jane", "Doe", 25]] # ファイルを開く with open("data.csv", "w", newline="", encoding="utf-8") as f: # CSV writer オブジェクトを作成する writer = csv.writer(f, quoting=csv.QUOTE_ALL) # データを書き込む for row in data: writer.writerow(row)
この例では、csv.writer()関数に、quoting引数を指定しています。
csv.QUOTE_ALLを指定することで、すべてのフィールドを引用符で囲むように指示しています。
これにより、文字列フィールドに含まれるカンマや改行が正しくエスケープされ、UTF-8形式で出力されます。
コメント