Python:写入数据后,CSV文件仍为空白

时间:2012-08-27 07:33:03

标签: 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 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'])])

文件是在以下路径创建的,但文件上没有任何内容。 我有什么明显的遗漏吗?请指导我。

2 个答案:

答案 0 :(得分:6)

您需要关闭该文件。让with为你做。

with open(csvPath, 'w') as f:
    writer = csv.writer(f)
    for results in sqlResult:
        writer.writerow([results['gname'],int(results['Count'])])

答案 1 :(得分:0)

而不是直接写入csv文件写入标准输出并将结果保存到file_name.csv

import csv
import sys
...
...

writer=csv.writer(sys.stdout)

...

然后在csv中获取输出

你可以写这样的命令: -

$ program_name > my_spreadsheet.csv 

希望它能帮到你......