使用Pandas快速合并多张Excel表格的操作指南

一颗松果
一颗松果
发布时间:2026-10-12| 2人浏览过
原创

本文详细拆解使用Pandas批量合并多张Excel表格的标准流程,涵盖有序文件遍历与无序目录扫描两种代码实现。同步给出身份证号等超长数字截断乱码的精准修复方案,助力高效完成底层数据汇总。

目标与准备条件

将分散在多份Excel工作簿中的业务记录汇总为单表,是日常数据处理的高频需求。使用Pandas库可通过编写简短脚本替代手动复制粘贴,显著提升效率并保证数据格式一致。操作前需确保环境已安装Pandas框架及对应依赖(如openpyxl),并将待处理的文件集中于同一工作目录(示例路径:C:/Users/admin/Downloads/)。

按命名规律批量合并

第1步:构造遍历路径并顺序读取

当源文件命名遵循明确序列(如名称中固定包含1至10的序号)时,可直接通过循环动态拼接文件绝对路径,依次加载进内存列表。

import pandas as pd

base_path = 'C:/Users/admin/Downloads/'
dfs = []
for i in range(1, 11):
    file_path = f"{base_path}excel表格名称{i}.xlsx"
    dfs.append(pd.read_excel(file_path))

df_concat = pd.concat(dfs, ignore_index=True)
df_concat.to_excel(f"{base_path}合并结果.xlsx", index=False)

关键参数说明:ignore_index=True可重置合并后的行号,避免残留原始索引造成后续分析干扰;若各表字段结构完全一致,此方法可直接产出标准汇总表。

处理无序或非规文件

第2步:利用系统模块扫描目录并过滤

当文件名杂乱无章或数量不定时,调用操作系统内置模块获取当前文件夹下的完整清单,配合后缀名过滤即可精准定位目标工作簿。

import pandas as pd
import os

target_dir = 'C:/Users/admin/Downloads/'
dfs = []
for filename in os.listdir(target_dir):
    if filename.endswith('.xlsx'):
        file_path = os.path.join(target_dir, filename)
        dfs.append(pd.read_excel(file_path))

df_concat = pd.concat(dfs, ignore_index=True)
df_concat.to_excel(os.path.join(target_dir, '合并结果.xlsx'), index=False)

完成判断:脚本运行结束后,目标文件夹内自动生成合并结果.xlsx。双击打开可见所有子表数据已纵向堆叠,行列总数与源文件累加值一致即视为合并成功。

常见异常排查:长数字与身份证号乱码处理

Pandas解析Excel时默认将纯数字列转换为浮点型或科学计数法,直接导致身份证号、银行卡号等长文本被截断或变成乱码。通过读取阶段强制指定列类型,即可在源头阻断格式损失。

# 读取时强制将目标列转为字符串对象
raw_data = pd.read_excel('C:/Users/admin/Downloads/file.xlsx', 
                         converters={'身份证号码': str})

# 导出时关闭行索引,保持原始排版
raw_data.to_excel('C:/Users/admin/Downloads/最终汇总.xlsx', index=False)

补充说明:现代Pandas版本默认调用openpyxl引擎输出.xlsx文件,已原生支持中文与Unicode字符,无需额外声明GBK编码;若仍遇特殊符号兼容问题,可在导出后使用办公软件的“数据 → 分列”功能快速核对显示状态。

简要总结

掌握基于文件命名规则遍历与目录自动扫描两类逻辑,配合pd.concat即可完成海量表格的自动化聚合。针对易混淆的长数字列,提前锁定数据类型可避免二次清洗耗时。以上就是Pandas快速合并多张Excel表格的详细内容,更多关于Python自动化数据处理与本地脚本优化的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。