0

0

Python Pandas批量为Excel多Sheet添加列名

心靈之曲

心靈之曲

发布时间:2025-09-30 20:47:01

|

764人浏览过

|

来源于php中文网

原创

python pandas批量为excel多sheet添加列名

本文旨在解决使用Python Pandas库批量为Excel文件中多个Sheet添加相同列名的问题。通过遍历Excel文件的所有Sheet,并利用Pandas的ExcelWriter对象,将文件名作为新列添加到每个Sheet中,从而实现数据的批量处理。本文提供详细代码示例,并解释关键步骤,帮助读者快速掌握该技巧。

在使用Python处理Excel数据时,经常会遇到需要在多个Sheet中添加相同列的情况。例如,需要将文件名作为一列添加到每个Sheet中,以便于后续的数据分析和处理。 Pandas库提供了强大的Excel读写功能,结合ExcelWriter可以方便地实现批量操作。

以下代码展示了如何使用Pandas遍历Excel文件的所有Sheet,并将文件名作为新列添加到每个Sheet中:

import os
import pandas as pd

path = 'XXXX'  # 请替换为你的Excel文件所在目录

for roots, dirs, files in os.walk(path):
    xlsfile = [f for f in files if f.endswith('.xlsx')]

    for xlsf in xlsfile:
        print(xlsf)
        excel_path = os.path.join(roots, xlsf)
        xls = pd.ExcelFile(excel_path)

        with pd.ExcelWriter(excel_path, engine='openpyxl') as writer:
            for sheet_name in xls.sheet_names:
                df = pd.read_excel(xls, sheet_name)
                df['filename'] = xlsf.split("-")[-2]
                df.to_excel(writer, sheet_name=sheet_name, index=False)

代码解释:

立即学习Python免费学习笔记(深入)”;

采风问卷
采风问卷

采风问卷是一款全新体验的调查问卷、表单、投票、评测的调研平台,新奇的交互形式,漂亮的作品,让客户眼前一亮,让创作者获得更多的回复。

下载
  1. 导入必要的库: os 用于文件路径操作,pandas 用于数据处理。
  2. 设置文件路径: 将path变量设置为包含Excel文件的目录。 注意:需要将XXXX替换为你实际的路径。
  3. 遍历文件: 使用os.walk遍历指定目录下的所有文件。
  4. 筛选Excel文件: 使用列表推导式[f for f in files if f.endswith('.xlsx')]筛选出所有以.xlsx结尾的文件。
  5. 循环处理每个Excel文件:
    • 使用pd.ExcelFile(excel_path)读取Excel文件,获取ExcelFile对象。
    • 使用pd.ExcelWriter(excel_path, engine='openpyxl')创建一个ExcelWriter对象,用于将修改后的数据写回Excel文件。 engine='openpyxl'指定使用openpyxl引擎,支持写入多个Sheet。
    • 循环遍历xls.sheet_names,获取每个Sheet的名称。
    • 使用pd.read_excel(xls, sheet_name)读取指定Sheet的数据到DataFrame。
    • 添加新的列filename,其值为文件名经过处理后的结果。 在这里,文件名通过xlsf.split("-")[-2]进行分割,取倒数第二个部分。 注意:这个分割方式是基于你的文件名格式,需要根据实际情况进行调整。
    • 使用df.to_excel(writer, sheet_name=sheet_name, index=False)将修改后的DataFrame写回Excel文件,index=False表示不写入索引列。
  6. 保存修改: with语句会自动关闭ExcelWriter对象,从而保存所有修改。

注意事项:

  • 文件名分割: xlsf.split("-")[-2]这部分代码是根据文件名格式进行分割的,需要根据实际的文件名格式进行调整。 例如,如果文件名是data_2023-10-26.xlsx,并且你想要提取日期2023-10-26作为filename列的值,那么这段代码是适用的。 如果文件名格式不同,则需要修改分割符和索引值。
  • 文件路径: 确保path变量指向的目录是正确的,并且包含需要处理的Excel文件。
  • 引擎选择: engine='openpyxl' 是一个重要的参数,用于指定使用的Excel写入引擎。 openpyxl 引擎支持写入多个Sheet,因此是批量处理Excel文件的必要选择。 如果没有指定引擎,可能会出现写入错误。
  • 覆盖原文件: 这段代码会直接覆盖原Excel文件。 在运行代码之前,建议备份原始文件,以防数据丢失
  • 依赖安装: 确保已经安装了pandas和openpyxl库。 可以使用pip install pandas openpyxl命令进行安装。

总结:

通过结合pd.ExcelFile和pd.ExcelWriter,可以方便地实现批量处理Excel文件的需求。 本文提供了一个简单的示例,展示了如何批量为Excel文件的所有Sheet添加相同列名。 在实际应用中,可以根据具体需求修改代码,例如修改文件名分割方式、添加不同的列值等。 掌握这种批量处理技巧,可以大大提高数据处理的效率。

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

749

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

634

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

758

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

618

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1262

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

547

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

577

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

705

2023.08.11

Java 项目构建与依赖管理(Maven / Gradle)
Java 项目构建与依赖管理(Maven / Gradle)

本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

10

2026.01.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 11.5万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 2.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号