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

Python合并文件夹Excel文件时添加原文件名列的实现需求

给合并后的Excel添加原文件名列的解决方案

你只需要在读取每个Excel文件后,新增一列记录当前文件的名称,再合并即可。这里用os.path.basename()提取纯文件名(避免存储完整路径),同时推荐用pd.concat()替代已弃用的append()方法,代码修改如下:

import glob
import pandas as pd
import os  # 导入os模块处理文件名

path = "C:/Users/kbisht/Downloads/AIR REPORT/Consolidated sentinal Hospital"
file_list = glob.glob(path + "/*.xlsx")

excl_merged = pd.DataFrame()

for file in file_list:
    # 读取单个Excel文件
    df = pd.read_excel(file)
    # 提取不带路径的纯文件名
    filename = os.path.basename(file)
    # 新增列,赋值当前文件名
    df['原文件名'] = filename
    # 合并到总数据框
    excl_merged = pd.concat([excl_merged, df], ignore_index=True)

# 保存合并后的结果
excl_merged.to_excel('Consolidated_sentinal_kuber5.xlsx', index=False)

关键修改说明:

  • 新增os模块导入:用来从完整路径中提取纯文件名,避免合并后的表格里出现冗长的路径字符串
  • 读取文件后立即添加列:确保当前文件的所有行都带上对应的文件名标记
  • 替换append()为pd.concat():因为DataFrame.append()在pandas 2.0+版本已被弃用,concat()是更稳定的合并方式

后续你可以通过类似excl_merged[excl_merged['原文件名'] == "目标文件名.xlsx"]的代码,快速筛选出来自特定文件的数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 17:52:21