使用 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)
有没有一种方法可以使用 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)