0

可能重复:
从 CSV 文件创建字典

尝试将字典打印到 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)

For 循环将字典键打印到 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

任何帮助将不胜感激。

4

2 回答 2

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()])
于 2013-01-02T18:34:10.373 回答
1

蟒蛇2:

csvWriter.writerow(mydict.keys())

蟒蛇 3:

csvWriter.writerow(list(mydict.keys()))
于 2013-01-02T18:39:56.197 回答