Pythonのcsv library

PythonでCSVを扱おうと思う際には,csv libraryを用いるのが良い.
Csvはただのカンマ区切りのテキストファイルなので,私も当初はテキストファイルを自分で作成したコードで書き込んでいた.
別に難しいものではないが,csvファイルに挿入する列が増えてくると,コードがなかなか見づらくなってきたり,また挿入する行を頻繁に変更してデータを分析する際には,変更箇所が1か所に絞られる本csv libraryは便利である.

特に,dictionaryの辞書を書き込むcsv.DictWriterは使いやすい.
但し,辞書の中に辞書が入れ子になっている場合には,そのままではcsv.DictWriterは利用できない.
その際には,collections標準ライブラリ内のChainMapというクラスを利用すると,辞書内の辞書を大元の辞書と結合して一つの辞書にして扱うことができるため,便利.

import csv

dictList=[{'a':5,'b':3,'c':10},{'a':15,'b':13,'c':2}]
with open('sample.csv', 'w') as f:
    writer = csv.DictWriter(f, ['a', 'b', 'c'])
    writer.writeheader()
    writer.writerows(dictList)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です