diadia

興味があることをやってみる。自分のメモを残しておきます。

リスト型データをcsvに出力する方法

関連記事

csvモジュールのメモ

リスト型データをcsvに出力する方法

リスト型データの書く要素を各行にしたcsvを書こうとしたところ、簡単にうまく行かなかったのでメモをする。

当初のコード

csvのメソッドwriterowの使い方が間違ったから。

import csv

job_list = ["せんせい","こうむいん","さっかーせんしゅ"]
with open("job.csv", "a") as f:
    writer = csv.writer(f)
    for job in job_list :
        writer.writerow(job)
 

こうすると

せ,ん,せ,い,
こ,う,む,い,ん,
さ,っ,か,ー,せ,ん,し,ゅ,

こうなってしまった。これはwriterowの引数をシーケンス(例えばリスト型)にしないといけなかったからだ。

import csv

job_list = ["せんせい","こうむいん","さっかーせんしゅ"]
with open("job.csv", "a") as f:
    writer = csv.writer(f)
    for job in job_list :
        empty = []
        empty.append(job)
        writer.writerow(empty)
 

こうすると

せんせい,

こうむいん,

さっかーせんしゅ,

とすることができる。
空白の行ができてしまうのでcsv.writerの引数にlineterminator='\n'を加えると以下の出力にすることができる。

import csv

job_list = ["せんせい","こうむいん","さっかーせんしゅ"]
with open("job.csv", "a") as f:
    writer = csv.writer(f, lineterminator="¥n")
    for job in job_list :
        empty = []
        empty.append(job)
        writer.writerow(empty)
 
せんせい,
こうむいん,
さっかーせんしゅ,

これはosがwindowsの場合に起こり得るものでmacの場合はlineterminator='\n'は不要。