【发布时间】:2023-04-04 05:18:01
【问题描述】:
我编写了以下代码,试图将查询结果导出到 csv 文件。
def get_avg(self,f0, f00, f1, f2):
arr = [1,2,3,4,5,6,7,8,9,10,11,12,13]
for n in arr:
curr_tab = c.execute("SELECT {}, {}, COUNT({}), AVG({}), AVG({}) FROM {} WHERE {} = {} GROUP BY {} ORDER BY COUNT({}) DESC".format(f0, f00, f00, f1, f2, self.table_name, f0, n, f00, f00)).fetchall()
print(curr_tab)
with open("cvc.csv", "w") as this_file:
for i in curr_tab:
csv.writer(this_file).writerow(i)
问题在于,当我按下调用此特定函数的按钮时,会创建文件 cvc.csv,但不会将任何内容写入该文件。 而 print(curr_tab) 本身的结果会返回所需的结果。
[(1.0, 'late', 1, 359.0, 11.0)]
[(2.0, 'early', 1, 460.0, 13.0)]
[]
[]
[]
[]
[]
[]
[(9.0, 'early', 1, 460.0, 19.0)]
[]
[]
[]
[]
【问题讨论】:
-
你只是在写最后一个查询的结果。
标签: python python-3.x sqlite csv export-to-csv