[英]Python: Read in Multiple Excel Workbooks into one DataFrame
我在一個文件夾中有大約 150 個不同的工作簿 (xlsx),我想將其讀入 python 數據框進行分析。
每個工作簿都使用相同的工作表名稱和列名稱進行相同的設置。
我需要將每個工作簿的第一張表(“關鍵字排名”)上傳到每個 DataFrame。 對於讀入的第一個工作表,我想從第 11 行開始維護列標題; 之后的每個工作表我都想從第 12 行開始附加到我的 DataFrame 中。
我是 Python 新手,一直在網上閱讀一些說明,但被卡住了。 根據我的理解,我可以使用 xlrd 庫來促進這一點。
我一直在玩下面的代碼,但還沒有走多遠。 “關鍵字排名”是我要附加的工作表名稱。
import pandas as pd
import numpy as np
import glob as glob
all_data = pd.DataFrame()
all_data = pd.ExcelFile("C:\\Users\\John Smith\\Documents\\Analysis\\FPR Nov - Mar 2018\\Dec_1_General.xlsx")
print(all_data.sheet_names)
all_d = all_data.parse('Keywords Rankings')
for f in glob.glob("Users\\John Smith\\Documents\\Analysis\\FPR Nov - Mar 2018\\*.xlsx", recursive=True):
df = pd.read_excel(f)
all_d = all_d.append(df,ignore_index=True)
您不應該不斷地附加到現有的pd.DataFrame
,因為這將非常低效。
您應該將pandas.concat
與數據pandas.concat
列表一起使用。
這可以通過列表理解來促進:
df = pd.concat([pd.read_excel(f, skiprows=range(10)) for f in files], axis=0)
假設每個 Excel 工作表的第 11 行都存在標題,列將自動對齊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.