Python pandas实现excel工作表合并功能详解


Posted in Python onAugust 29, 2019
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()

合并文件包含三个工作表:完成任务,下周计划,本周工时(包含了全年的数据,所以需要抽取)。

Python pandas实现excel工作表合并功能详解
合并后得文件,如图:

Python pandas实现excel工作表合并功能详解
Python pandas实现excel工作表合并功能详解

以上就是关于Python_pandas实现excel工作表合并功能的全部实例内容,感谢大家的阅读和对三水点靠木的支持。

Python 相关文章推荐
python二分法实现实例
Nov 21 Python
Python获取远程文件大小的函数代码分享
May 13 Python
Python实现设置windows桌面壁纸代码分享
Mar 28 Python
python3读取MySQL-Front的MYSQL密码
May 03 Python
Python代码实现KNN算法
Dec 20 Python
python批量替换多文件字符串问题详解
Apr 22 Python
Python获取指定字符前面的所有字符方法
May 02 Python
python函数的作用域及关键字详解
Aug 20 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
Sep 26 Python
torch 中各种图像格式转换的实现方法
Dec 26 Python
浅谈JupyterNotebook导出pdf解决中文的问题
Apr 22 Python
Python各协议下socket黏包问题原理
Apr 12 Python
python openCV获取人脸部分并存储功能
Aug 28 #Python
python lambda表达式在sort函数中的使用详解
Aug 28 #Python
python实现微信小程序用户登录、模板推送
Aug 28 #Python
使用Python脚本zabbix自定义key监控oracle连接状态
Aug 28 #Python
django删除表重建的实现方法
Aug 28 #Python
Python Django 前后端分离 API的方法
Aug 28 #Python
django重新生成数据库中的某张表方法
Aug 28 #Python
You might like
中国收音机工业发展史
2021/03/02 无线电
PHP开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
PHP开发的一些注意点总结
2010/10/12 PHP
让ThinkPHP支持大小写url地址访问的方法
2014/10/31 PHP
php常用的url处理函数总结
2014/11/19 PHP
PHP中header用法小结
2016/05/23 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
javascript实现日历控件(年月日关闭按钮)
2012/12/12 Javascript
jQuery 和 CSS 的文本特效插件集锦
2014/12/12 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
jquery实现红色竖向多级向右展开的导航菜单效果
2015/08/31 Javascript
JavaScript高级程序设计(第三版)学习笔记6、7章
2016/03/11 Javascript
jquery实现界面无刷新加载登陆注册
2016/07/30 Javascript
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
Vue2.0 axios前后端登陆拦截器(实例讲解)
2017/10/27 Javascript
适合前端Vue开发童鞋的跨平台Weex的使用详解
2019/10/16 Javascript
ssm+vue前后端分离框架整合实现(附源码)
2020/07/08 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
[00:32]2018DOTA2亚洲邀请赛出场——LGD
2018/04/04 DOTA
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
python2.7 json 转换日期的处理的示例
2018/03/07 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
Python和Anaconda和Pycharm安装教程图文详解
2020/02/04 Python
CSS3的 fit-content实现水平居中
2017/09/07 HTML / CSS
洛杉矶生活休闲而精致的基础品牌:Mika Jaymes
2018/01/07 全球购物
Lookfantastic葡萄牙官方网站:欧洲第一大化妆品零售商
2018/03/17 全球购物
自荐信格式简述
2014/01/25 职场文书
爱耳日宣传活动总结
2014/07/05 职场文书
2014年外贸业务员工作总结
2014/12/11 职场文书
2014大学生学生会工作总结
2014/12/19 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
postgresql 删除重复数据案例详解
2021/08/02 PostgreSQL
SQL IDENTITY_INSERT作用案例详解
2021/08/23 MySQL
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL