阅读所有工作表 擅长 python

read all sheets excels in python

我在一个文件夹中有很多 excel 个文件。我想将除第一个 sheet 之外的所有 sheet 加载到数据帧中。每个 excel 有不同数量的 sheet。例如,我有 E1.xlsx、E2.xlsx。 E1有5个sheet,E2有9个。我需要从E1加载sheet1,2,3,4,还有1,2,3,4,5,6,7,8来自 E2(没有 sheet 0)。


filenames = glob.glob( "/*.xlsx")
d = []

for filename in filenames:
    df = pd.read_excel(filename, index_col=None, sheet_name=1) # don't know how to set sheet number
    d.append(df)

data = pd.concat(d, axis=0, ignore_index=True)

我有我的代码,但不知道如何设置 sheet 号码。 (sheet中的那一栏与其他sheet完全不同,我觉得把sheet全部读完再删除不是一个好的选择)

你可以尝试以下方法吗:

import glob
import pandas as pd

filenames = glob.glob( "/*.xlsx")
d = []
not_req_sheets = [0]

for filename in filenames:
    xl = pd.ExcelFile(filename)
    for sheet_name in xl.sheet_names:
        if sheet_name not in not_req_sheets:
            df = xl.parse(sheet_name, index_col=None)
            d.append(df)

data = pd.concat(d, axis=0, ignore_index=True)

我会这样做:

filenames = glob.glob( "/*.xlsx")
d = []

for filename in filenames:
    df = pd.read_excel(filename, index_col=None, sheet_name=None) # Load All Sheets
    df = df[1:] # Only need second to last sheets
    d.append(df)

data = pd.concat(d, axis=0, ignore_index=True)