0

0

手把手教你用Python批量实现在Excel后里面新加一列,并且内容为Excel表名

PHPz

PHPz

发布时间:2023-04-11 19:34:13

|

3481人浏览过

|

来源于51CTO.COM

转载

[[441492]]

前言

前几天在铂金交流群里,有个叫【? ? ??】的粉丝在python交流群里问了一道关于python自动化办公的问题,初步一看觉得很简单,实际上确实是有难度的,题目如下图所示。

二、解决思路

如果是按照常规思路,首先打开一个Excel表格,之后在表格的最后一列添加对应表名,如果只是一个表格,表格内容只有一行的话,这么操作,三下五除二就完活了。但是如果遇到很多个表格,如果再这样逐个处理,就非常疲劳了。

不过这里给大家介绍一个使用Python自动化办公的方法来帮助大家解决问题,也保证不会出错,大概几秒钟左右的时间就可以完成战斗。

其实【? ? ??】自己也尝试使用Python来解决,不过却遇到了点问题,虽然Excel文件是创建了,但是后面的列名写入失败了,而且他最后还需要进行合并Excel表格,所有这里其实是有两个需求的。

三、解决方法

这里给出【?(这是月亮的背面】大佬】提供的代码,大体思路其实是差不多的,但是实现的方法却是用Python程序来实现的,效率就十分不一样了。下面直接来看代码吧!

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

一、代码一

# coding: utf-8 
# 给每个excel中的sheet增加一列,值为excel名.xlsx 
from pathlib import Path 
import pandas as pd 
path = Path(r'E:PythonCrawlerpython_crawler-masterMergeExcelSheetfile777') 
excel_list = [(i.stem, pd.concat(pd.read_excel(i, sheet_name=None))) for i in path.glob("*.xls*")] 
data_list = [] 
for name, data in excel_list: 
    print(name) 
    print(data) 
    data['表名'] = name 
    data_list.append(data) 
result = pd.concat(data_list, ignore_index=True) 
result.to_excel(path.joinpath('给每个excel中的sheet增加一列,值为excel名.xlsx'), index=False, encoding='utf-8') 
print('添加和合并完成!')

i.stem的意思是获取该文件的名称,不包括父节点和后缀,例D:/Desktop/test.txt,i.stem就是test!

二、代码二

# coding: utf-8 
# 给每个excel中的sheet增加一列,值为excel名-sheet名.xlsx 
from pathlib import Path 
import pandas as pd 
path = Path(r'E:PythonCrawlerpython_crawler-masterMergeExcelSheetfile777') 
excel_list = [(i.stem, pd.concat(pd.read_excel(i, sheet_name=None))) for i in path.glob("*.xls*")] 
data_list = [] 
for name, data in excel_list: 
    print(name) 
    print(data) 
    data['表名'] = name 
    data.reset_index(level=0, inplace=True)  # 重置level_0索引 
    data_list.append(data) 
result = pd.concat(data_list, ignore_index=True) 
result['表名'] = result['表名'] + '-' + result['level_0']  # 更改列值 
del result['level_0']  # 删除多余列 
result.to_excel(path.joinpath('给每个excel中的sheet增加一列,值为excel名-sheet名.xlsx'), index=False, encoding='utf-8') 
print('添加和合并完成!')

这个代码和代码一其实是差不多的,就是列名这块稍微有些命名不同,因为示例的这3个excel里的sheet名相同,就用表名做了前缀,表名-sheet名了。

抖云猫AI论文助手
抖云猫AI论文助手

一款AI论文写作工具,最快 2 分钟,生成 3.5 万字论文。论文可插入表格、代码、公式、图表,依托自研学术抖云猫大模型,生成论文具备严谨的学术专业性。

下载

代码运行之后,在代码目录下会自动生成相应的Excel文件,如下图所示。

之后每个Excel表格中,也有对应的表格名称对应的列名,而且还实现了所有表格的合并功能,如下图所示。

如果对Excel合并知识感兴趣的话,可以戳这篇文章学习下:盘点4种使用Python批量合并同一文件夹内所有子文件夹下的Excel文件内所有Sheet数据,干货满满噢!

四、总结

我是Python进阶者。本文基于粉丝针对Python自动化办公的提问,给出了一个利用Python基础+pandas文件处理的解决方案,完全满足了粉丝的要求,给粉丝节约了大量的时间。

 

相关文章

WPS零基础入门到精通全套教程!
WPS零基础入门到精通全套教程!

全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

10

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

28

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

20

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

11

2026.01.22

PHP特殊符号教程合集
PHP特殊符号教程合集

本专题整合了PHP特殊符号相关处理方法,阅读专题下面的文章了解更多详细内容。

11

2026.01.22

PHP探针相关教程合集
PHP探针相关教程合集

本专题整合了PHP探针相关教程,阅读专题下面的文章了解更多详细内容。

8

2026.01.22

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

52

2026.01.22

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 15.3万人学习

Django 教程
Django 教程

共28课时 | 3.4万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.2万人学习

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

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