Redian新闻
>
Python实现Excel拆分与合并

Python实现Excel拆分与合并

公众号新闻

在实际工作中,我们经常会遇到各种表格的拆分与合并的情况。如果只是少量表,手动操作还算可行,但是如果是几十上百张表,最好使用Python编程进行自动化处理。下面介绍两种拆分案例场景,如何用Pandas实现Excel文件的拆分。

  • 按条件将Excel文件拆分到不同的工作簿 假设现在有一个汇总表,内部存储了整个年级的成绩数据。现在需要按照班级分类,将不同班级的数据拆分到不同的工作簿中,最终实现"三年级总成绩单.xlsx"分成”三年一班.xlsx,三年二班.xlsx,三年三班.xlsx“三个不同班级的工作簿。导入pandas模块,调用read_excel()方法,用于读取“三年级总成绩单”工作簿中的数据。接着,利用for循环,按照“班级”筛选出不同的数据,并将它们写入不同的Excel文件中。源码如下:
import pandas as pd
import os

# 在当前目录下新建一个“班级”文件夹,然后拆分新文件到这个文件夹下
if not os.path.exists('班级'):
    os.mkdir('班级')

df = pd.read_excel('../三年级总成绩.xlsx')
# df['班级'].unique()获取到是不同班级的名称,df['班级']==i]用于筛选出不同班级中的数据。
for class_name in df['班级'].unique():
    df[df['班级'] == class_name].to_excel(f"{os.path.join(os.getcwd(),'班级')}/{class_name}.xlsx", index=False)

执行上述代码后,结果如下图:

  • 按条件将Excel文件拆分到不同的工作表 假设现在有一个汇总表,内部存储了整个年级的成绩数据。现在需要按照班级分类,将不同班级的数据拆分到一个工作簿的不同工作表中,并保留原来的汇总数据工作表。如下图:

调用ExcelWriter()方法,它会帮助我们创建一个空的容器对象writer。基于这个对象,我们可以向同一个Excel文件的不同工作表中,写入对应的表格数据。源码如下:

import pandas as pd
import os

df = pd.read_excel('../三年级总成绩.xlsx')

writer = pd.ExcelWriter('三年级总成绩单.xlsx')
df.to_excel(writer, sheet_name='总成绩', index=False)

for j in df['班级'].unique():
    df[df['班级'] == j].to_excel(writer, sheet_name=j, index=False)

writer.save()

第一次调用to_excel()方法时,我们将原来的“汇总数据工作表”写入这个容器对象,并指明了工作表名“总成绩”。接着利用for循环遍历总表,再次调用to_excel()方法,并将拆分后的每个班级的数据,分别写入同一个容器对象。此时,这个容器对象不仅保存了原来的“汇总数据工作表”,还保存了拆分后的每个班级的数据。最后调用容器对象的save()方法,即可将拆分后的数据写入Excel文件中,最终效果如上图所示。喜欢的朋友可以自己体验一下,欢迎转发分享。下期还有合并数据的案例与大家分享。感兴趣的朋友可以在小蜜蜂AI的ChatGPT问答获得更多的答案。网址:https://zglg.work。


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
城市NOA的「元年」与「虚火」、拆分与抱团取暖...2023年,智能驾驶「十大关键词」深度好文|Python变身表白利器!又被恋爱脑的理工男秀到了!更方便了!Python在线编程支持中文了!如何使用python发送日志易告警不再更新博文了《回眸北斋之浮世绘世界》 上刷个B站的功夫就能把Python学了,哈佛这门线上课程,太强了!抱歉!你低估Excel自带的图表了!这样做表更高级!(附模板)GPT-4绝对性能暴涨74.4%!UIUC苹果华人团队提出CodeAct,用Python代码统一LLM智能体行动一个 Python 的轻量级搜索工具在线编写和运行Python代码 使用介绍2024技术招聘状况:AI工具被视为作弊,Python需求最大再见Excel,你好Python太方便了!无须安装软件,「在线」编写Python代码!熬夜爆肝,用Python赚了4w!鸿发超市「2000 万美元」买下82街前Walmart超市!开设第4家Hông Phát分店!超级好用的Python模块——glob模块写python爬虫,你永远绕不过去代理问题是人都不是好东西自学12h!人在英国,我线上白嫖到了密歇根全套Python课程!10个python爬虫入门实例imageio,一个Python处理图片的工具包Textual:为 Python 增加漂亮的文本用户界面(TUI) | Linux 中国清华官方出品Python漫画教学书!零基础留学生3天速成大神是如何用 python 对远程服务器进行命令或文件操作的?藏有一个重洋42024 年 3 月编程语言排行榜,Python 与其他语言之间的差距从未如此之大!Python中常用内置函数Excel一键隔行插入空白行!Python装饰器应用示例刷个B站的功夫就把Python入门了,哈佛的线上课程,太强了!跨语言编程:在C#应用程序中调用Python摩根大通数据分析师:只会用鼠标做Excel的实习生,我们不要!黑洞简史 序言 站在巨人的肩膀上给你一张知识图谱,Python 就这么学 | 极客时间
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。