簡體   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