将字典写入CSV fi

2024-09-29 01:30:16 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
Creating a dictionary from a CSV file

我在尝试将字典打印到CSV文件时遇到问题。字典当前有4列,但所有4列都打印在一个单列中。这可能是我用来写入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

任何帮助都将不胜感激。


Tags: 文件csvnamein标题fordate字典
2条回答

Python2:

csvWriter.writerow(mydict.keys())

Python3:

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

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

#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()])

相关问题 更多 >