Python:CSV文件在写入数据后仍然为空
我有一个来自mysql的元组结果,如下所示:Python:CSV文件在写入数据后仍然为空,python,Python,我有一个来自mysql的元组结果,如下所示: sqlResult=({'Count': 1L, 'gname': 'Anron may'}, {'Count': 1L, 'gname': 'Anchy de'}, {'Count': 1L, 'gname': 'abby ras'}, {'Count': 2L, 'gname': 'Akki nome'}, {'Count': 41L, 'gname': 'Archenemy'}, {'Count': 1L, 'gname': 'Antony p
sqlResult=({'Count': 1L, 'gname': 'Anron may'}, {'Count': 1L, 'gname': 'Anchy de'}, {'Count': 1L, 'gname': 'abby ras'}, {'Count': 2L, 'gname': 'Akki nome'}, {'Count': 41L, 'gname': 'Archenemy'}, {'Count': 1L, 'gname': 'Antony papa'}, {'Count': 1L, 'gname': 'Dead zombie'})
我正试图像这样将此数据保存到CSV文件
import time
csvName="Gnames-and-count-"+str(int(time.time()))
csvPath="/home/sean/Desktop/"+str(csvName)+str(".csv")
writer = csv.writer(open(csvPath, 'wt'))
for results in sqlResult:
writer.writerow([results['gname'],int(results['Count'])])
文件是在以下路径创建的,但文件上没有任何内容。
有什么明显的东西我遗漏了吗。请指导我。不要直接写入csv文件,而是写入标准输出并将结果保存在文件\u name.csv中
import csv
import sys
...
...
writer=csv.writer(sys.stdout)
...
然后以csv格式获取输出
您可以这样编写命令:-
$ program_name > my_spreadsheet.csv
希望它能帮助您…而不是直接写入csv文件写入标准输出并将结果保存在文件\u name.csv中
import csv
import sys
...
...
writer=csv.writer(sys.stdout)
...
然后以csv格式获取输出
您可以这样编写命令:-
$ program_name > my_spreadsheet.csv
希望它能帮助您……您需要关闭该文件。让
和
一起为你做这件事
with open(csvPath, 'w') as f:
writer = csv.writer(f)
for results in sqlResult:
writer.writerow([results['gname'],int(results['Count'])])
您需要关闭该文件。让
和
一起为你做这件事
with open(csvPath, 'w') as f:
writer = csv.writer(f)
for results in sqlResult:
writer.writerow([results['gname'],int(results['Count'])])
如何存储对文件句柄的引用,并在以后显式关闭它?@strustmaster感谢您指出这一点。我没有关闭文件。如何存储对文件句柄的引用,然后显式关闭它?@strustmaster感谢您指出。我没有关闭文件。@girijesh我完全可以这样做,但在设置cronjob时,这对我来说是一个痛苦,因为这样我就无法根据当前时间戳自动更改文件名。@saunjean在cronjob中安装此脚本,您可以编写一个shell脚本,您可以在其中使用以下命令:程序名>我的spreadshet
date'+%Y%m%d'
。csvThanks grijesh,但我不想让它复杂化。最好保留一个文件,直到需要它为止。@saunjean是的,saun你是对的,最好保留一个文件。但我给出了替代方案…:)@girijesh我完全可以这样做,但在设置cronjob时,这对我来说将是一个痛苦,因为这样我就无法根据需要更改文件名了自动设置当前时间戳。@要在cronjob中安装此脚本,您可以编写一个shell脚本,在该脚本中可以使用以下命令\u name>my\u spreadshetdate'+%Y%m%d'
。csvThanks grijesh,但我不想让事情复杂化。最好保留一个文件,直到需要时为止。@Saundjean是的,Saund你是对的,最好保留一个文件。但我给出了替代方案…:)