簡體   English   中英

從特定路徑(具有特定工作表名稱)讀取多個 excel 文件到單個 pandas 數據框中

[英]Reading multiple excel files from a certain path (with certain sheets names) into a single pandas data frame

我如何只讀取存在於特定路徑中的所有 excel 文件中的工作表 '2g'、'3g'、'4g' 並將它們寫入三個不同的數據幀。 所有 2g 工作表應存儲在名為 (2g) 的 pandas 數據框中 所有 3g 工作表應存儲在名為 (3g) 的 pandas 數據框中 所有 4g 工作表應存儲在名為 (4g) 的 pandas 數據框中excel 個文件: 在此處輸入圖像描述

以及我想從每個 excel 文件中讀取的工作表,如下面的屏幕所示:

在此處輸入圖像描述

您可以將read_excel與多個工作表名稱一起使用:

import pandas as pd

data2g = []
data3g = []
data4g = []

for xlsx in pathlib.Path('mobile').glob('*.xlsx'):
    df2g, df3g, df4g = pd.read_excel(xlsx, sheet_name=['2G', '3G', '4G']).values()
    data2g.append(df2g)
    data3g.append(df3g)
    data4g.append(df4g)

df2g = pd.concat(data2g, ignore_index=True)
df3g = pd.concat(data3g, ignore_index=True)
df4g = pd.concat(data4g, ignore_index=True)

如您所見,您可以使用循環提高可讀性:

import pandas as pd
from collections import defaultdict

data = defaultdict(list)
for xlsx in pathlib.Path('mobile').glob('*.xlsx'):
    out = pd.read_excel(xlsx, sheet_name=['2G', '3G', '4G'])
    for k, v in out.items():
        data[k].append(v)
df2g, df3g, df4g = [pd.concat(data[k], ignore_index=True) for k in data]

暫無
暫無

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

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