将字典写入CSV文件

时间:2013-01-02 18:22:06

标签: python csv dictionary

  

可能重复:
  Creating a dictionary from a CSV file

尝试将字典打印到CSV文件时遇到问题。字典目前有4列,但所有4列都打印在1列中。可能是我用来写入CSV文件的for循环是责备但我不太确定。我想在每列中打印字典。

示例数据:

     Date        First Name     Last Name     Score
12/28/2012 15:15        John          Smith        20
12/29/2012 15:15        Alex          Jones        38
12/30/2012 15:15      Michael       Carpenter      25

以下是一些代码摘录:

import csv

csvWriter = csv.writer(open("C:\\Users\\Chris\\Desktop\\test_out.csv", 'w'), delimiter=' ', quotechar=' ', quoting=csv.QUOTE_MINIMAL)

要在上面的CSV文件中读取循环:

读者行

for k, v in row.items():

    if not k in mydict:
        mydict[k] = [v]
    else:
        mydict[k].append(v)

用于将字典键打印到CSV文件的循环。

for item in mydict.keys():
    csvWriter.writerow(item)

当前输出(列标题):

D a t e

F i r s t    N a m e

L a s t      N a m e

S c o r e

通缉输出(列标题):

Date      First Name       Last Name       Score

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

现在我更了解你的结构,试试这个:

#first write column headers
csvWriter.writerow(list(mydict.keys())

#now data, assuming each column has the same # of values
for i in xrange(len(mydict['Date'])):
    csvWriter.writerow([mydict[k][i] for k in mydict.keys()])

答案 1 :(得分:1)

Python 2:

csvWriter.writerow(mydict.keys())

Python 3:

csvWriter.writerow(list(mydict.keys()))