前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Python拆分Excel工作表

使用Python拆分Excel工作表

作者头像
fanjy
发布2021-11-10 14:40:54
3.4K0
发布2021-11-10 14:40:54
举报
文章被收录于专栏:完美Excel完美Excel

学习Excel技术,关注微信公众号:

excelperfect

标签:Python与Excel,pandas

才开通星空问答,就收到了小几个问题,试着回答了,不知道满不满意,相信随着水平的增长,会让大家更加满意的。相关链接>>>Excel与VBA,还有相关的Python,到这里来问我

其中有一个问题是:

如何用Python按照某列的关键词分拆工作表,并保留表中原有的公式。

由于星空问答的功能还在完善中,不能上传图片和示例文件,并且我觉得这个问题正好可以检验一下近半个月学习Python与Excel相关知识的效果,于是自己编了一个示例,试了一下,感觉使用Python来实现一些任务确实很简洁。在这里,与大家分享,也请高手们指点。

示例工作表

为演示起见,我制作了一个简单的工作表,如下图1所示。

图1

这里,假设这个工作表所在工作簿的名字是“拆分示例.xlsx”,并且根据列C中的分类来拆分工作表,有两个分类:建设项目和电商,因此应该拆分成两个工作表。此外,列F是计算列,其中包含有公式。

拆分到两个工作簿

代码很简单:

import pandas as pd

df = pd.read_excel(r'D:\拆分示例.xlsx')

df1 = df.loc[df['分类'] == '建设项目']

df2 = df.loc[df['分类'] == '电商']

df1.to_excel(r'D:\建设项目.xlsx',index= False)

df2.to_excel(r'D:\电商.xlsx',index = False)

将该工作表按分类拆分成了两个工作表,并放置到两个新工作簿“建设项目.xlsx”和“电商.xlsx”中。

拆分到同一工作簿中的两个工作表

代码如下:

import pandas as pd

df = pd.read_excel(r'D:\拆分示例.xlsx')

df1 = df.loc[df['分类'] == '建设项目']

df2 = df.loc[df['分类'] == '电商']

writer1 = pd.ExcelWriter(r'D:\拆分示例.xlsx')

df1.to_excel(writer1, sheet_name = '建设项目', index =False)

df2.to_excel(writer1, sheet_name = '电商', index =False)

writer1.save()

下面,我们将代码进一步优化。

使用列表

代码如下:

import pandas as pd

df = pd.read_excel(r'D:\拆分示例.xlsx')

cat = ['建设项目', '电商']

for subcat in cat:

myfile = df.loc[df['分类'] ==subcat]

myfile.to_excel('D:\\'+subcat+'.xlsx',index = False)

再进一步,我们不管分类列中有多个独立的分类,直接按分类生成工作表。代码如下:

import pandas as pd

df = pd.read_excel(r'D:\拆分示例.xlsx')

cat = df['分类'].unique()

for subcat in cat:

myfile = df.loc[df['分类'] ==subcat]

myfile.to_excel('D:\\'+subcat+'.xlsx',index = False)

遗憾的是,我现在还不知道怎么在拆分后的工作表中保留原公式?有知道的吗,欢迎留言。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档