使用 tkinter asksaveasfilename,如何将数据帧字典保存到新 excel 文件中的单独工作表中?
Using tkinter asksaveasfilename, how to save dictionary of dataframes into seperate sheets in a new excel file?
现在我正在使用以下命令将数据帧字典保存到新 excel 文件中的单独工作表中:
# create dummy dataframe
data = [['A', 1], ['B', 2]]
df = pd.DataFrame(data, columns=['ColA', 'ColB'])
dict_df = {'df1': df, 'df2': df}
# save dict of df into excel
writer = ExcelWriter('filetosave.xlsx')
for key in dict_df:
dict_df[key].to_excel(writer, key, index=False)
writer.save()
代码工作正常,但我正在尝试将 tkinter 合并到我的代码中,因此当我的脚本运行时,文件资源管理器将打开供我命名和保存文件。但是,下面的代码给我一个错误。
from tkinter.filedialog import asksaveasfilename
file = asksaveasfilename(defaultextension=".xlsx")
dict_df.to_excel(file)
AttributeError: 'dict' object has no attribute 'to_excel'
您需要创建 writer
实例并遍历 dict_df
中的项目,就像在第一个代码块中一样:
from tkinter.filedialog import asksaveasfilename
from pandas import ExcelWriter
...
file = asksaveasfilename(defaultextension='.xlsx')
writer = ExcelWriter(file)
for key, df in dict_df.items():
df.to_excel(writer, key, index=False)
writer.save()
现在我正在使用以下命令将数据帧字典保存到新 excel 文件中的单独工作表中:
# create dummy dataframe
data = [['A', 1], ['B', 2]]
df = pd.DataFrame(data, columns=['ColA', 'ColB'])
dict_df = {'df1': df, 'df2': df}
# save dict of df into excel
writer = ExcelWriter('filetosave.xlsx')
for key in dict_df:
dict_df[key].to_excel(writer, key, index=False)
writer.save()
代码工作正常,但我正在尝试将 tkinter 合并到我的代码中,因此当我的脚本运行时,文件资源管理器将打开供我命名和保存文件。但是,下面的代码给我一个错误。
from tkinter.filedialog import asksaveasfilename
file = asksaveasfilename(defaultextension=".xlsx")
dict_df.to_excel(file)
AttributeError: 'dict' object has no attribute 'to_excel'
您需要创建 writer
实例并遍历 dict_df
中的项目,就像在第一个代码块中一样:
from tkinter.filedialog import asksaveasfilename
from pandas import ExcelWriter
...
file = asksaveasfilename(defaultextension='.xlsx')
writer = ExcelWriter(file)
for key, df in dict_df.items():
df.to_excel(writer, key, index=False)
writer.save()