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

有没有办法使用 filedialog 将 DataFrame 保存到 Excel 文件中,但是使用特定名称作为“my_file”?我通常使用这个代码


path_to_save = filedialog.asksaveasfilename(defaultextension='.xlsx')

    df.to_excel(path_to_save, index=False)

这将打开一个窗口,我可以在其中选择文件的位置和名称,现在我希望默认使用名称“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 文档中找不到任何关于此的内容


繁星coding
浏览 72回答 1
1回答

缥缈止盈

主要问题initialfile尝试使用函数的参数asksaveasfilename,例如: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 + 1df.sort_index(inplace=True) 
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python