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使用ntplib库同步校准当地时间的方法
Jul 02 Python
Python实现采用进度条实时显示处理进度的方法
Dec 19 Python
python实现多线程网页下载器
Apr 15 Python
对dataframe进行列相加,行相加的实例
Jun 08 Python
Python3安装Pillow与PIL的方法
Apr 03 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
Aug 06 Python
Python配置文件处理的方法教程
Aug 29 Python
在Tensorflow中实现梯度下降法更新参数值
Jan 23 Python
python新式类和经典类的区别实例分析
Mar 23 Python
python如何删除文件、目录
Jun 23 Python
Python3爬虫中识别图形验证码的实例讲解
Jul 30 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
Dec 11 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 uniqid函数生成唯一ID
2015/11/18 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
javascript removeChild 使用注意事项
2009/04/11 Javascript
js优化针对IE6.0起作用(详细整理)
2012/12/25 Javascript
js数组与字符串的相互转换方法
2014/07/09 Javascript
jQuery 复合选择器应用的几个例子
2014/09/11 Javascript
使用BootStrap实现用户登录界面UI
2016/08/10 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
javascript ES6 新增了let命令使用介绍
2017/07/07 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
2017/09/12 jQuery
解决vue+element 键盘回车事件导致页面刷新的问题
2018/08/25 Javascript
发布一款npm包帮助理解npm的使用
2019/01/03 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
微信小程序使用自定义组件导航实现当前页面高亮
2020/01/02 Javascript
react实现移动端下拉菜单的示例代码
2020/01/16 Javascript
JS使用正则表达式实现常用的表单验证功能分析
2020/04/30 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
[16:27]DOTA2 HEROS教学视频教你分分钟做大人-艾欧
2014/06/11 DOTA
使用python在校内发人人网状态(人人网看状态)
2014/02/19 Python
在Python中操作时间之strptime()方法的使用
2020/12/30 Python
Django模板变量如何传递给外部js调用的方法小结
2017/07/24 Python
python利用正则表达式排除集合中字符的功能示例
2017/10/10 Python
django主动抛出403异常的方法详解
2019/01/04 Python
python操作日志的封装方法(两种方法)
2019/05/23 Python
Pandas中Series和DataFrame的索引实现
2019/06/27 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
Matplotlib scatter绘制散点图的方法实现
2020/01/02 Python
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
个人自我评价分享
2013/12/20 职场文书
幼儿园元旦活动感言
2014/03/02 职场文书
法律七进实施方案
2014/03/15 职场文书
初中英语教学随笔
2015/08/15 职场文书
七年级语文教学反思
2016/03/03 职场文书
nginx前后端同域名配置的方法实现
2021/03/31 Servers
mysql查看表结构的三种方法总结
2022/07/07 MySQL
Java获取字符串编码格式实现思路
2022/09/23 Java/Android