我尝试使用“import csv”将输出保存为csv并且只获取错误。有什么理由吗?
由于我无法让它运行,它还会通知文件是否已经存在?
非常感谢
from tkinter import *
from tkinter.filedialog import asksaveasfilename
from tkinter import ttk
import csv
def data():
...
output= <class 'list'> #just an example
...
def savefile():
name= asksaveasfilename()
create = csv.writer(open(name, "wb"))
create.writerow(output)
for x in output:
create.writerow(x)
root = Tk()
Mframe = ttk.Frame(root)
Mframe.grid(column=0, row=0, sticky=(N, W, E, S))
bSave=ttk.Button(Mframe, text='Save File', command=savefile)
bSave.grid(column=1, row=0)
root.mainloop()
答案 0 :(得分:0)
您正在打开文件,但没有关闭它。一个好的做法是使用with语句确保关闭它。顺便说一下,我不知道output
列表是怎么样的,但如果它不是列表列表,那么调用writerow
一次就更有意义了。
此外,请确保此列表也是全局变量,否则它将在savefile
的范围内不可用。但是,全局变量不是一个很好的解决方案,因此请考虑将其作为参数传递给savefile
或使用类来保存所有这些数据:
def savefile():
name = asksaveasfilename()
with open(name, 'w', newline='') as csvfile:
create = csv.writer(csvfile)
create.writerow(output)