簡體   English   中英

Python 讀取文件和 append 到 dataframe

[英]Python Read files and append to a dataframe

我正在嘗試讀取文件夾中的多個文件。 我有大約 100 個文件。 我正在使用下面的代碼讀取文件並將其 append 寫入數據框。 索引似乎有問題。 創建數據框后,將交換列。 例如:

文件 1 以 ID、NAME、ADDRESS、COORDINATES 格式附加

文件 2 以 NAME、COORDINATES、ADDRESS、ID 格式附加

這導致值位於錯誤的列中。

代碼:

path=r"C:\Notebooks\temp"
filenames = glob.glob(path+"/*.csv")
dfs=[]

for file in range(len(filenames)):
    data_read=pd.read_csv(filenames[file], header=0)
    dfs.append(data_read)
    big_frame=pd.concat(dfs)

有沒有更好的方法來讀取 CSV 文件和 append 到 dataframe?

嘗試刪除最后一行,因為它沒有用,並使 dfs 不是列表而是空的 Dataframe

dfs = pd.DataFrame(data={'ID' :str(0), 'NAME':str(0), 'ADDRESS':0, 'COORDINATES':str(0)}]

然后 append 像您一樣將所有其他文件添加到它,最后您可以消除第一個觀察結果,因為它只是一個“初始化程序”。

對於有關列名的問題,請嘗試以下操作:

column_names = ["ID", "NAME", "ADDRESS", "COORDINATES"]

for file in range(len(filenames)):
    data_read=pd.read_csv(filenames[file], header=0).reindex(columns=column_names)
    dfs.append(data_read)

將兩部分放在一起,您將獲得最終代碼:

path=r"C:\Notebooks\temp"
filenames = glob.glob(path+"/*.csv")
dfs = pd.DataFrame(data={'ID' :str(0), 'NAME':str(0), 'ADDRESS':0, 'COORDINATES':str(0)}]
column_names = ["ID", "NAME", "ADDRESS", "COORDINATES"]

    for file in range(len(filenames)):
        data_read=pd.read_csv(filenames[file], header=0).reindex(columns=column_names)
        dfs.append(data_read)

dfs = dfs.iloc[1:,:]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM