1

私は次のような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'])])

ファイルは次のパスで作成されますが、ファイルには何もありません。私が見逃している明らかなものはありますか?案内してください。

4

2 に答える 2

6

ファイルを閉じる必要があります。あなたのためにそれをしましょうwith

with open(csvPath, 'w') as f:
    writer = csv.writer(f)
    for results in sqlResult:
        writer.writerow([results['gname'],int(results['Count'])])
于 2012-08-27T07:48:40.790 に答える
0

csv ファイルに直接書き込む代わりに、標準出力に書き込み、結果を file_name.csv に保存します。

import csv
import sys
...
...

writer=csv.writer(sys.stdout)

...

次に、csvで出力を取得する

次のようなコマンドを書くことができます:-

$ program_name > my_spreadsheet.csv 

それがあなたを助けることを願っています...

于 2012-08-27T07:43:30.117 に答える