Python将列表写入CSV
我有一段代码,想把一个列表(里面又是列表)写入到一个csv文件中,每个子列表应该作为新的一行写入csv文件:
resultFile = open("E:/tmobile/CR_Accuracy/cycle7/pp/output.csv",'wb')
wr = csv.writer(resultFile, dialect='excel')
for item in result:
wr.writerow([item,])
但奇怪的是,代码执行完后,csv文件却是空的。这里有一些从'Watch'中复制的列表项的例子,使用的是PyCharm:
(7031482579417L, 'Payment', 'Yes', 'Yes - Both')
(7031482579417L, 'Rate Plan OR Plan Fit Analysis', 'Yes', 'Yes - System')
(7031482579417L, 'Credits and Adjustments', 'Yes', 'Yes - Both')
2 个回答
0
你给的代码似乎没有关闭文件。可能是因为在程序结束之前,Python没有来得及把文件里的内容写入。如果是这样的话,调用 resultFlie.close() 这个方法应该能解决问题。
1
如果这个列表是一个元组的列表,那就直接传递 item
,而不是把 item
放在一个列表里。另外,正如theharshes提到的,确保你已经关闭了文件。
with open("E:/tmobile/CR_Accuracy/cycle7/pp/output.csv",'wb') as resultFile:
wr = csv.writer(resultFile, dialect='excel')
for item in result:
wr.writerow(item)
或者可以更简洁地使用 csvwriter.writerows
:
with open("E:/tmobile/CR_Accuracy/cycle7/pp/output.csv",'wb') as resultFile:
wr = csv.writer(resultFile, dialect='excel')
wr.writerows(result)