[英]Python convert.txt to .csv without having a specific file name
我目前正在開發一個應用程序,它將一個充滿數據的雜亂文本文件轉換為有組織的 CSV。它目前運行良好,但是當我將文本文件轉換為 csv 時,我希望能夠 select 一個具有任何名稱的文本文件。 按照我目前編寫代碼的方式,我必須將文件命名為“file.txt”。 我怎么go一下這個?
這是我的代碼。 如有必要,我可以發送整個腳本。 請注意,這是鏈接到 tkinter 按鈕的 function。 提前致謝。
def convert():
df = pd.read_csv("file.txt",delimiter=';')
df.to_csv('Cognex_Data.csv')
嘗試按如下方式定義您的 function:
def convert(input_filename, output_filename='Cognex_Data.csv'):
df = pd.read_csv(input_filename, delimiter=';')
df.to_csv(output_filename)
例如使用它如下:
filename = input("Enter filename: ")
convert(filename, "Cognex_Data.csv")
您還可以將“Cognex_Data.csv”作為convert
function 定義中output_filename
參數的默認值(如上所述)。
最后,您可以使用任何您喜歡的方式來獲取文件名(例如tkinter.filedialog
,正如 matszwecja 所建議的那樣)。
我沒有使用過tkinter
,但是PySimplyGUI
,據我所知,它是建立在tkinter
上的,所以你應該有可能提取與用戶選擇的文件名對應的變量。 這就是我在類似問題上使用PySimpleGUI
所做的。
然后,提取用戶通過提示選擇的文件名並將其作為參數傳遞給您的 function:
def convert(file):
df = pd.read_csv("{}.txt".format(file), delimiter=';')
df.to_csv('Cognex_Data.csv')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.