首页 > 编程知识 正文

python自动拆分excel,Python带格式拆分Excel

时间:2023-05-03 15:08:00 阅读:265066 作者:4093

前言:对于Excel表格中数据量众多,若想要将Excel表按列分割成为各个独立的子表需要大量的时间,但若通过Python程序实现,将会节省大量的时间,提高工作效率,而这也是Python的魅力所在,本篇文章引用网上的一个案例为例子进行操作介绍,同时也欢迎大家一起交流,共同进步。

通常在从事业务工作的同学们经常会遇到这样的一个问题,就是需要把一个汇总的excel表按列分成若干个新的Excel表,即:

 或者:

 需要针对不同供应商拆分成独立的子表格进行商品动销分析。

下图为拆分后的结果,每个供应商会是一个单独的Excel文件产出:


拆分后子表内容是单个独立供应商所有的商品动销数据:

 

(以上表格数据来源于网上 )

Python代码的实现

一、针对唯一sheet的Excel表拆分

#步骤一:读取表格import pandas as pddirPath = input('请输入源文件地址:')path = dirPath + 'xxx指标体系.xlsx'orgName = pd.read_excel(path)org_list = list(orgName['xx公司'].drop_duplicates())print(org_list)#步骤二:完成表格的拆分for i in org_list: writer = pd.ExcelWriter(dirPath+i+'指标体系.xlsx') tempdata = orgName[orgName['xx公司']==i] tempdata.to_excel(writer,index = False) writer.save() writer.close()

二、针对多个sheet的Excel表拆分

#步骤一:读取表格import pandas as pddirPath = input('请输入源文件地址:')path = dirPath + 'xx指标体系.xlsx'orgName = pd.read_excel(path)org_list = list(orgName['xx公司'].drop_duplicates()) #去掉重复值print(org_list)#步骤二:获取excel_sheet名称并完成表格的拆分d_read = pd.read_excel(path,None) names = list(d_read.keys())print(names)for i in org_list: writer = pd.ExcelWriter(dirPath+i+'xx指标体系周报%s.xlsx') for name in names: print(name) tempsheet = pd.read_excel(path,sheet_name=name) tempdata = tempsheet[tempsheet['xx公司']==i] tempdata.to_excel(writer, sheet_name = name,index = False) writer.save() writer.close()

让我们一起,为梦想窒息。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。