我试图创建一个按钮,可以导出一个数据到CSV,我面临一些问题。
我的数据帧是df1。如果没有上载的数据,代码将显示一个消息框:“无数据”,“无可供导出的数据”。否则,它应该将数据保存在我使用函数"filedialog.asksaveasfilename“指定的位置。
def export():
global df1
if len(df1) < 1:
messagebox.showerror("No Data", " No data available to export")
return False
fln = filedialog.asksaveasfilename(initialdir=os.getcwd(), title="Save CSV", filetypes=(("CSV File", "*.csv"),("All Files","*.*")))
with open(fln, mode='w') as myfile:
exp_writer = csv.writer(myfile, delimiter='\t')
for i in tv1.get_children():
row = tv1.item(i)['values']
exp_writer.writerow(row)
messagebox.showinfo("Data Exported", "Your data has been exported to " +os.path.basename(fln)+" sucessfully.")
我得到的错误是:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python\anaconda3\lib\tkinter\__init__.py", line 1892, in __call__
return self.func(*args)
File "C:\Users\Mahmoud Khadijeh\Desktop\Python2\Python\FTIR.py", line 344, in export
with open(fln, mode='w') as myfile:
TypeError: open() got an unexpected keyword argument 'mode'
任何帮助!
发布于 2022-08-16 11:33:20
谢谢!我使用了一种不同的方法来导出数据,下面是函数
def export():
global df1
if len(df1) < 1:
messagebox.showerror("No Data", " No data available to export")
return False
fln = filedialog.asksaveasfilename(initialdir=os.getcwd(), title="Save CSV", filetypes=(("CSV File", "*.csv"),("All Files","*.*")))
print("fln== ", fln)
types = filename
gifs_and_pngs = []
for type in types:
this_type_files = glob.glob(type)
gifs_and_pngs += this_type_files
df1 = pd.DataFrame()
for excel_file in gifs_and_pngs:
df2 = pd.read_excel(excel_file, header= None)
df1 = pd.concat([df1, df2], axis = 1)
df1.to_excel(fln+".xlsx")
messagebox.showinfo("Data Exported", "Your data has been exported sucessfully.")
expbtn = Button(root, text="Export CSV", command = export, bg='snow', highlightthickness = 1, bd=3)
expbtn.place(rely=0.66, relx=0.265)
https://stackoverflow.com/questions/73372051
复制相似问题