打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用Python拆分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)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
UC头条:PythonExcel文件
用python将一个excel工作表根据条件拆分成多个工作表
Python中pandas读取Excel文件的方法
用Python 创建 Excel 高级工作表
如何从excel中读取多个工作表
最全整理!Python 操作 Excel 库 xlrd与xlwt 常用操作详解!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服