为了账号安全,请及时绑定邮箱和手机立即绑定

读取Python中的所有Excel表格

读取Python中的所有Excel表格

隔江千里 2023-10-26 14:33:58
我的一个文件夹中有很多excel文件。我想将除第一张纸之外的所有工作表加载到数据框中。每个 Excel 都有不同数量的工作表。例如我有 E1.xlsx、E2.xlsx。E1有5张,E2有9张。我需要从E1加载第1,2,3,4张,从E2加载1,2,3,4,5,6,7,8(没有第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)我这里有我的代码,但不知道如何设置图纸编号。(工作表中的列与其他工作表完全不同,我认为读取所有工作表并删除不是一个好的选择)
查看完整描述

2 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

您可以尝试以下操作:


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)


查看完整回答
反对 回复 2023-10-26
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

我会这样做:


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)


查看完整回答
反对 回复 2023-10-26
  • 2 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信