次のような辞書形式のデータがあります。
{Color: Red, Age: 29, Date: October 2nd, Time: 4pm}
そして、「色、年齢、日付、時刻」が列のタイトルになり、フィールドが行としてファイルされるように、これらの辞書をcsvに書きたいと思います。そうすれば、csv ファイルを再度読み取ると、上記と同じ方法でフォーマットされたデータが得られます。
これについての適切な方法は何ですか?
Pandas でこれを行うのは非常に簡単です。
import pandas as pd
data = [
{"A":1.0, "B":2.0, "C":"foo"},
{"A":100, "B":20, "C":"bar"},
{"A":0.1, "B":0.2, "C":"xyz"},
]
df = pd.DataFrame(data)
from StringIO import StringIO
buf = StringIO()
df.to_csv(buf, index=False) # convert DataFrame to csv
print buf.getvalue()
出力は次のとおりです。
A,B,C
1.0,2.0,foo
100.0,20.0,bar
0.1,0.2,xyz
csv をロードするには:
buf.pos = 0
print pd.read_csv(buf)
出力は次のとおりです。
A B C
0 1.0 2.0 foo
1 100.0 20.0 bar
2 0.1 0.2 xyz