2016-12-23 6 views
1

に辞書の辞書を書く私はそうここに3332個のIDを持って、辞書の長さは3332ですがdictinoaryこのcsvファイル

{id1:{t1:1, t2:2, t3:4, t5:3 ...}, id2:{t2:1, t3:3...},...id3332:{tX:X, tX:X}} 

のようなものである必要があります。しかし、各IDの長さは同じではないかもしれません。また、これらのキー(t1, t2, t3...)もランダムです。

私はこのようなCSVファイルに出力し、それらのデータが必要:いいえ場合は、対応する位置の値を出力、その後、

IDs t1 t2 t3 t4 t5 ... 
id1 1 2 4 0 3 
id2 0 1 3 0 0 
id3 0 1 0 4 0 
: 
id3332 ... 

時間(e.g. for id1, t1=1, t2=2)の値が存在する場合、各IDための手段その時の値(e.g. for id1, no value for t4, then output 0)

ドキュメントを確認したところ、csv.writeを使用しようとしましたが、それを把握しませんでした。

データは、したがって、この形式のCSVファイルたい

sample = {103061863: {'26/08/2014 07:20:00': '"5"', '23/08/2014 20:25:00': '"8"', '14/08/2014 18:55:00': '"6"'}, 103061862: {'06/08/2014 11:15:00': '"5"', '21/08/2014 13:10:00': '"5"', '01/08/2014 05:55:00': '"5"'}, 103061819: {'02/08/2014 09:50:00': '"6"', '17/08/2014 07:30:00': '"5"', '08/08/2014 20:30:00': '"7"', '23/08/2014 20:25:00': '"7"', '21/08/2014 09:50:00': '"6"', '17/08/2014 15:00:00': '"7"'}} 

を使用して生成することができるサンプル:それは​​ライブラリを使用するためには良いケースだ

IDs '26/08/2014 07:20:00' '23/08/2014 20:25:00' '14/08/2014 18:55:00' t4 t5 ... 
103061863 5      8    6   ... 
103061862 0      3    0   ... 
103061819 0      7    0   ... 
+8

いくつかのコードをquestio n、私たちはあなたを助けることができる – Lucas

+0

私はあなたの最も簡単な選択肢は、パンダのデータフレームにdictを転送し、次にto_csv()関数を使ってcsvにエクスポートすることだと思います。 –

+0

@MarcvT組み込みですか?それをダウンロードしてインストールする必要がありますか? –

答えて

2

を - 最初pandas.DataFrameにあなたの辞書をオンにし、それを保存してくださいto_csv

import pandas as pd 

df = pd.DataFrame.from_dict(d, orient='index').fillna(0) 
df.to_csv(...) 
+0

が投稿した回答を使用します。 –

+0

時間に応じてデータフレームをソートする方法はありますか? –

+0

'df.columns = sorted(df.columns)'はトリックを行うべきです –