2015-09-23 170 views
1

我打印的字典final_merged到CSV文件和輸出看起來是這樣的:寫字典CSV文件

2015-08-02 07:00 ['1.00', '0.68', '0.68', '0.00', '9', '19.1', '19.1', '19.1'] 

我寧願它是否會是這樣的:

2015-08-02 07:00 1.00 0.68 0.68 0.00 9 19.1 19.1 19.1 

所以我需要擺脫所有'[] 有沒有一種簡單的方法來轉換字典?

到目前爲止,我試圖與兩個for循環

for value in final_merged.items(): 
line = '' 
for values in value[1]: 
    line= line+ str(values)+ '\t' 
value[1]= line 

但我有與STR命令的問題

打印(值[1])顯示:

['1.00', '0.68', '0.68', '0.00', '9', '19.1', '19.1', '19.1'] 

字典看起來像:

{'2015-08-02 07:00': ['1.00', '0.68', '0.68', '0.00', '9', '19.1', '19.1', '19.1']} 

我希望它看起來像這樣

2015-08-02 07:00 1.00 0.68 0.68 0.00 9 19.1 19.1 19.1 
+0

請問你的字典中是什麼樣子?你想讓字典在csv中看起來像什麼? –

+1

如果您顯示「打印值[1]」,則會更容易理解您需要的內容 – Marco

回答

1

使用str.join。您可以將它傳遞給一個列表,然後它將創建一個字符串,並將所有元素連接成一個字符串。但是你也可以在每個字符串之間插入一個特定的字符串,如'\t'

line = line + '\t'.join(values) + '\t' 

哪應該給你正確的輸出。

1

THX我解決了這個問題: 在代碼的端TE作家,我只是進入:

w=csv.writer(f,delimiter='\t') 
w.writerow(header) 
for key, values in sorted(final.merged()): 
w.writerow([key] + values) 

我以前只有

w.writerows(sorted(merge_d.items();))