Python pandas实现excel工作表合并功能详解
作者:qq5d4147c106bd7 时间:2021-05-23 01:33:40
import os,pandas as pd,re
#1.获取文件夹下要合并的文件名
dirpath = '文件夹地址'
#工作表3特殊处理 需要开始下标和结束下标
begin = 231
end = 238
excel_names = os.listdir(dirpath)
#2.获取文件内容
sheet_1_merge = []
sheet_2_merge = []
sheet_3_merge = pd.DataFrame([0,0,0,0,0,0,0])
for excel_name in excel_names:
#绝对路径
excel_path = dirpath+excel_name
#dropna(axis=0, how='all')行全部为空得删除
#获取工作表1内容
sheet_1=pd.read_excel(excel_path, sheet_name=1, header=None)[2:][range(9)].dropna(axis=0, how='all')
sheet_1_merge.append(sheet_1)
获取工作表2内容
sheet_2=pd.read_excel(excel_path, sheet_name=2, header=None)[2:][range(1,7)].dropna(axis=0, how='all')
sheet_2_merge.append(sheet_2)
# 获取工作表3内容
sheet_3 = list(pd.read_excel(excel_path,sheet_name=3,header=None)[begin:end][1])
excel_name = re.findall('\d-(.*).xlsx', excel_name)[0]
sheet_3_merge.insert(1,excel_name,sheet_3)
print(sheet_1,'\n',sheet_2,'\n',sheet_3)
#保存合并内容
#axis=0,ignore_index=True合并行 忽略原来的下标
sheet_1_merge = pd.DataFrame(pd.concat(sheet_1_merge,axis=0,ignore_index=True))
sheet_2_merge = pd.DataFrame(pd.concat(sheet_2_merge,axis=0,ignore_index=True))
#columns主要是为了按照已有得排序,方便整理
sheet_3_merge = pd.DataFrame(sheet_3_merge,columns=['李1','李2,'李3','彭4','杨5','夏6',...,'杜34','叶35'])
writer = pd.ExcelWriter('C:/Users/zhuozhe/Desktop/merge.xlsx')
sheet_1_merge.to_excel(excel_writer=writer,sheet_name='merge_1')
sheet_2_merge.to_excel(excel_writer=writer,sheet_name='merge_2')
sheet_3_merge.to_excel(excel_writer=writer,sheet_name='merge_3')
writer.save()
writer.close()
合并文件包含三个工作表:完成任务,下周计划,本周工时(包含了全年的数据,所以需要抽取)。
合并后得文件,如图:
来源:https://blog.51cto.com/14477836/2433364
标签:Python,pandas,excel
0
投稿
猜你喜欢
基于Python制作打地鼠小游戏
2022-04-07 09:13:34
类型转换的小乐趣
2010-11-30 21:37:00
ASP SCRIPT: 计数器(使用GrapShot组件)
2008-11-07 15:36:00
ASP平台如何打造金牌英文网站
2008-04-10 08:47:00
PHP实现克鲁斯卡尔算法实例解析
2023-09-08 19:35:57
使用layui 的layedit定义自己的toolbar方法
2023-08-24 16:21:43
利用GAE&Google Gears做了一个简单的AJAX代理
2009-04-29 12:42:00
SQL Server 日期相关资料详细介绍
2012-07-11 16:14:07
WEB2.0网页制作标准教程(1)选择什么样的DOCTYPE
2007-11-13 12:57:00
用Python编写一个每天都在系统下新建一个文件夹的脚本
2021-11-08 22:39:16
SQL学习笔记八 索引,表连接,子查询,ROW_NUMBER
2011-09-30 11:18:24
Golang详细讲解常用Http库及Gin框架的应用
2023-08-25 23:14:41
PHP convert_cyr_string()函数讲解
2023-06-05 00:43:42
SQL语句练习实例之三——平均销售等待时间
2011-10-24 20:11:47
如何制作K线图?
2010-06-29 17:25:00
如何使用w3 upload上传组件上传文件?
2010-05-16 15:11:00
W3C web标准概念入门
2008-05-25 15:06:00
JavaScript 组件之旅(四):测试 JavaScript 组件
2009-10-13 20:32:00
Go语言的Windows下环境配置以及简单的程序结构讲解
2023-08-26 16:04:10
Python检测数据类型的方法总结
2022-08-29 22:07:58