2016-12-23 1 views
1

로 DICT의 DICT를 작성 그래서 여기에 3332 개 ID를 가지고, 딕셔너리의 길이가 3332이지만 dictinoary이csv 파일

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

같다 있습니다. 그러나 각 이드의 길이는 같지 않을 수 있습니다. 그리고 그 열쇠 (t1, t2, t3...)도 무작위입니다. 아니 시간 (e.g. for id1, t1=1, t2=2) 값이있는 경우, 각 ID 수단

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 ... 

, 그때 출력하는 경우, 해당 위치에 값 :

는 I 출력이 같은 CSV 파일에 이러한 데이터를 원하는 값은 (e.g. for id1, no value for t4, then output 0)입니다.

설명서를 확인한 후 csv.write을 사용하려고했지만 알아 내지 못했습니다.

샘플 데이터가

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"'}} 

그래서이 형태의 csv 파일 원하는 사용하여 생성 할 수 있습니다 : 그것은 pandas 라이브러리를 사용하는 것이 사건

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를 pandas 데이터 프레임으로 옮긴 다음 to_csv() 함수를 사용하여 csv로 간단히 내보낼 것이라고 생각한다. –

+0

@MarcvT 내장되어 있는가? 다운로드하여 설치해야합니까? –

답변

2

를 -로 DICT를 설정 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)'트릭을해야합니다 –