我正在嘗試將具有相同列的多個 Excel 檔案附加到一個檔案中。如果我使用此代碼x.append(y, ignore_index = True),它將不起作用。在 for 回圈結束時,它只回傳 x 表。但是,如果我嘗試x.append(y, ignore_index = True)在單個代碼塊中運行,則在 for 回圈之后附加仍然在記憶體中的 y 可以正常作業。我正在使用 Juptyer 筆記本。
# import required module
import os as os
import pandas as pd
# assign directory
# directory = 'C:\\Users\\Tomas\\Documents\\Python Scripts\\csv\\TimeLogs'
directory = 'C:\\Users\\Tomas\\Documents\\Python Scripts\\csv\\tmp'
# iterate over files in
# that directory
for idx,filename in enumerate(os.listdir(directory)):
f = os.path.join(directory, filename)
# checking if it is a file
if os.path.isfile(f):
print(f)
print(idx)
if idx == 0:
x = pd.read_excel(f,engine="openpyxl")
else:
y = pd.read_excel(f,engine="openpyxl")
x.append(y, ignore_index = True)
uj5u.com熱心網友回復:
您可以創建一個資料框串列,然后使用 pandas 的concat方法將它們連接起來。
# import required module
import os as os
import pandas as pd
# assign directory
# directory = 'C:\\Users\\Tomas\\Documents\\Python Scripts\\csv\\TimeLogs'
directory = 'C:\\Users\\Tomas\\Documents\\Python Scripts\\csv\\tmp'
# iterate over files in
# that directory
list_of_dataframes=[]
for idx,filename in enumerate(os.listdir(directory)):
f = os.path.join(directory, filename)
# checking if it is a file
if os.path.isfile(f):
print(f)
list_of_dataframes.append(pd.read_excel(f,engine="openpyxl"))
merged_df=pd.concat(list_of_dataframes)
這樣,您不必檢查索引idx是否等于 0。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/446249.html
標籤:Python 熊猫 文件 jupyter-笔记本 附加
