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 相关文章推荐
sqlalchemy对象转dict的示例
Apr 22 Python
python网络编程实例简析
Sep 26 Python
以Flask为例讲解Python的框架的使用方法
Apr 29 Python
Python中super函数的用法
Nov 17 Python
python与sqlite3实现解密chrome cookie实例代码
Jan 20 Python
python PyTorch参数初始化和Finetune
Feb 11 Python
win10下tensorflow和matplotlib安装教程
Sep 19 Python
Python3最长回文子串算法示例
Mar 04 Python
pytorch自定义二值化网络层方式
Jan 07 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
Feb 15 Python
matplotlib jupyter notebook 图像可视化 plt show操作
Apr 24 Python
Python中的特殊方法以及应用详解
Sep 20 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
合作指挥官:孟斯克
2020/03/16 星际争霸
初探PHP5
2006/10/09 PHP
PHP自定义函数收代码
2010/08/01 PHP
PHP全概率运算函数(优化版) Webgame开发必备
2011/07/04 PHP
PHP设计模式之命令模式的深入解析
2013/06/13 PHP
PHP远程采集图片详细教程
2014/07/01 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
Javascript 面向对象之重载
2010/05/04 Javascript
Javascript变量函数浅析
2011/09/02 Javascript
jQuery中filter()和find()的区别深入了解
2013/09/25 Javascript
jQuery中noconflict函数的实现原理分解
2015/02/03 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
jQuery拖动布局其结果保存到数据库
2015/10/09 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
2016/06/03 Javascript
jQuery中ajax错误调试分析
2016/12/01 Javascript
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
vue按需加载实例详解
2019/09/06 Javascript
微信小程序实现侧边栏分类
2019/10/21 Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
2020/07/20 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
[02:51]DOTA2战队出征照拍摄花絮 TI3明星化身时尚男模
2013/07/22 DOTA
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
Python爬虫之Selenium实现关闭浏览器
2020/12/04 Python
HTML5页面无缝闪开的问题及解决方案
2020/06/11 HTML / CSS
马来西亚演唱会订票网站:StubHub马来西亚
2018/10/18 全球购物
经理管理专业自荐信范文
2013/12/31 职场文书
党的群众路线教育实践活动个人对照检查材料(医生)
2014/11/05 职场文书
2014年销售助理工作总结
2014/12/01 职场文书
2015年乡镇人大工作总结
2015/04/22 职场文书
Go语言带缓冲的通道实现
2021/04/26 Golang
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python
Java 在线考试云平台的实现
2021/11/23 Java/Android