簡體   English   中英

Python:將多個 Excel 工作簿讀入一個 DataFrame

[英]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.

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