繁体   English   中英

使用 pandas df.to_csv 时有没有办法自动添加文件扩展名?

[英]Is there a way to automatically add a filename extension when using the pandas df.to_csv?

我知道如何使用'defaultextension'和'filetypes',如下:

self.filetypes = (('CSV files', '*.csv'), ('CSV files', '*.csv'))
self.result_file = fd.asksaveasfile(filetypes = self.filetypes, defaultextension = 'csv')

我可以在输入文件名时简单地添加扩展名,但我不想这样做。 如果我为我的文件名输入“结果”,我希望实际文件名是 result.csv。

当我这样做时,我知道我的文件类型规范看起来有点奇怪,两个相同的选项。 读取文件时,我不知道如何只提供一个选项而不会收到错误消息。 这似乎有效,至少在阅读时是这样。 不确定这是否是我写作时问题的一部分。

您可以使用Pathlib.path.suffix属性。

假设您在同一目录中有一个名为“test.csv”的文件。

from pathlib import Path 
file = Path('test.csv')
df = pd.read_csv(file)
#do stuff
df.to_csv(f"new_name.{file.suffix}")
print(file.suffix)
'.csv'

我只是自己弄清楚了这一点。 我认为与其删除问题,不如提供答案,以防其他人从中受益。

我正在使用'asksaveasfile()' function,它实际上会打开一个文件进行写入,如有必要,可以创建它。

我发现“asksaveasfilename()”返回用户建议打开的文件的名称,但实际上并没有打开该文件。 这使我可以在打开文件并写入文件之前轻松添加我喜欢的任何扩展名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM