You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何读取指定路径下所有Excel文件的指定sheet到对应pandas DataFrame

实现指定路径下多Excel文件指定工作表合并到对应DataFrame

需求说明

读取指定路径下所有Excel文件中的2g、3g、4g工作表,将所有2g工作表数据合并存入名为df_2g的pandas DataFrame,3g和4g工作表同理分别存入对应名称的DataFrame。

实现代码

import os
import pandas as pd

# 指定目标路径
target_path = "你的指定路径"

# 初始化三个空DataFrame
df_2g = pd.DataFrame()
df_3g = pd.DataFrame()
df_4g = pd.DataFrame()

# 遍历路径下所有Excel文件
for filename in os.listdir(target_path):
    if filename.endswith(".xlsx") or filename.endswith(".xls"):
        file_path = os.path.join(target_path, filename)
        
        # 读取2g工作表并追加到对应DataFrame
        try:
            temp_2g = pd.read_excel(file_path, sheet_name="2g")
            df_2g = pd.concat([df_2g, temp_2g], ignore_index=True)
        except Exception as e:
            print(f"文件{filename}中不存在2g工作表,跳过:{e}")
        
        # 读取3g工作表并追加到对应DataFrame
        try:
            temp_3g = pd.read_excel(file_path, sheet_name="3g")
            df_3g = pd.concat([df_3g, temp_3g], ignore_index=True)
        except Exception as e:
            print(f"文件{filename}中不存在3g工作表,跳过:{e}")
        
        # 读取4g工作表并追加到对应DataFrame
        try:
            temp_4g = pd.read_excel(file_path, sheet_name="4g")
            df_4g = pd.concat([df_4g, temp_4g], ignore_index=True)
        except Exception as e:
            print(f"文件{filename}中不存在4g工作表,跳过:{e}")

# 查看合并后的DataFrame(可选)
print("2g数据合并完成,行数:", len(df_2g))
print("3g数据合并完成,行数:", len(df_3g))
print("4g数据合并完成,行数:", len(df_4g))

关键说明

  • 使用os.listdir遍历目标路径下的所有文件,通过后缀筛选Excel文件
  • 用pd.read_excel指定sheet_name读取对应工作表,捕获异常处理不存在目标工作表的情况
  • 利用pd.concat将多个同类型工作表的数据追加到同一个DataFrame,ignore_index=True重置索引避免重复

参考截图

Excel文件截图
工作表截图

内容的提问来源于stack exchange,提问作者Jalal Hasain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 06:01:00