将字典写入csv文件

时间:2015-09-23 11:50:25

标签: python csv dictionary

我将字典final_merged打印到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命令有问题

print(values [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

2 个答案:

答案 0 :(得分:1)

使用str.join。您可以传递一个列表,然后它将创建一个字符串,其中所有元素都连接成一个字符串。但是,您也可以在每个字符串之间插入特定的字符串,例如'\t'

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

哪个应该能给你正确的输出。

答案 1 :(得分:1)

thx我解决了它: 我在代码末尾的编写器中输入:

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();))