尝试将字典打印到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
非常感谢任何帮助。
答案 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()))