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中声明只包含一个元素的元组数据方法
Aug 25 Python
python正则表达式中的括号匹配问题
Dec 14 Python
Python常用的日期时间处理方法示例
Feb 08 Python
简单掌握Python中glob模块查找文件路径的用法
Jul 05 Python
Python tornado队列示例-一个并发web爬虫代码分享
Jan 09 Python
python函数的万能参数传参详解
Jul 26 Python
python+selenium 点击单选框-radio的实现方法
Sep 03 Python
python 生成器和迭代器的原理解析
Oct 12 Python
Python实现子类调用父类的初始化实例
Mar 12 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
Mar 28 Python
pytorch加载预训练模型与自己模型不匹配的解决方案
May 13 Python
Python利用FlashText算法实现替换字符串
Mar 31 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
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
ThinkPHP模板自定义标签使用方法
2014/06/26 PHP
PHP模拟asp中response类实现方法
2015/08/08 PHP
PHP时间处理类操作示例
2018/09/05 PHP
js 分栏效果实现代码
2009/08/29 Javascript
JavaScript 对Cookie 操作的封装小结
2009/12/31 Javascript
理解Javascript_13_执行模型详解
2010/10/20 Javascript
利用了jquery的ajax实现二级联互动菜单
2013/12/02 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
JavaScript中window.showModalDialog()用法详解
2014/12/18 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
谈一谈js中的执行环境及作用域
2016/03/30 Javascript
javascript和jQuery实现网页实时聊天的ajax长轮询
2016/07/20 Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
2016/08/17 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
Bootstrap表单使用方法详解
2017/02/17 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
webpack+vue2构建vue项目骨架的方法
2018/01/09 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
Javascript异步流程控制之串行执行详解
2020/09/27 Javascript
vue中axios封装使用的完整教程
2021/03/03 Vue.js
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
Python使用装饰器进行django开发实例代码
2018/02/06 Python
kali中python版本的切换方法
2019/07/11 Python
Python GUI编程学习笔记之tkinter事件绑定操作详解
2020/03/30 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
python中字典增加和删除使用方法
2020/09/30 Python
利用python查看数组中的所有元素是否相同
2021/01/08 Python
车辆维修工自我评价怎么写
2013/09/20 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
2014年平安创建工作总结
2014/11/24 职场文书
教师岗位职责
2015/02/03 职场文书
资产移交协议书
2016/03/24 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书