使用 tk filedialog 以特定名称保存文件

Save file with a specific name using tk filedialog

有没有一种方法可以使用 filedialog 将 DataFrame 保存到 excel 文件中,但是使用特定的名称,例如 'my_file'? 我通常使用这个代码

path_to_save = filedialog.asksaveasfilename(defaultextension='.xlsx')
    df.to_excel(path_to_save, index=False)

这会打开一个 window,我可以在其中选择我的文件的位置和名称,现在我想默认使用名称 'my_file',这样就不需要输入它了.

有办法吗?非常感谢

保存的excel文件为空:

 a_row['column1'] = df['column1']
new_df = a_row
new_df2 = pd.DataFrame({'column2': [], '': []})
new_df3 = pd.concat([new_df, new_df2])
new_df3['column2'] = 'some value'
new_df3 = new_df3.set_index(['column1', 'column2'])

path_to_save1 = filedialog.asksaveasfilename(defaultextension='.xlsx',  initialfile = 'my_file')
new_df3.to_excel(path_to_save1, index=False)

是否可以像这张图片那样在列名称的顶部插入一行?我在 pandas 文档中找不到任何关于此的信息

主要问题

尝试对asksaveasfilename函数使用参数initialfile,例如:

path_to_save = filedialog.asksaveasfilename(defaultextension='.xlsx', initialfile = 'my_file')

评论问题

关于 DataFrame 空虚,是因为你没有给它分配任何东西。要添加值,您可以使用 loc:

df = pd.DataFrame({'column1':[],'column2':[]})
df.loc[0] = ['value1','value2']

您也可以使用 concat 来做到这一点,但要确保您的数据帧具有相同的列数。

为了在顶部添加一行,@edyvedy13 找到了这个有趣的解决方案 :

df.loc[-1] = ['value1.0','value2.0']
df.insert(0,1,{'value2'})
df.index = df.index + 1
df.sort_index(inplace=True)