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实现类似ftp传输文件的网络程序示例
Apr 08 Python
Python删除指定目录下过期文件的2个脚本分享
Apr 10 Python
flask框架视图函数用法示例
Jul 19 Python
python清除字符串前后空格函数的方法
Oct 21 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
Dec 11 Python
Python笔记之观察者模式
Nov 20 Python
使用Tensorboard工具查看Loss损失率
Feb 15 Python
Python3-异步进程回调函数(callback())介绍
May 02 Python
Python如何在单元测试中给对象打补丁
Aug 03 Python
jupyter notebook远程访问不了的问题解决方法
Jan 11 Python
pytorch实现手写数字图片识别
May 20 Python
给numpy.array增加维度的超简单方法
Jun 02 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给一组指定关键词添加span标签的方法
2015/03/31 PHP
php数据序列化测试实例详解
2017/08/12 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
Laravel 修改验证异常的响应格式实例代码详解
2020/05/25 PHP
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
2012/08/14 Javascript
json对象转字符串如何实现
2012/12/02 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
JS、DOM和JQuery之间的关系示例分析
2014/04/09 Javascript
Bootstrap栅格系统学习笔记
2016/11/25 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
vue2.X组件学习心得(新手必看篇)
2017/07/05 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
ES6学习教程之模板字符串详解
2017/10/09 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
vue计算属性及使用详解
2018/04/02 Javascript
vue左侧菜单,树形图递归实现代码
2018/08/24 Javascript
vue侧边栏动态生成下级菜单的方法
2018/09/07 Javascript
vue axios封装httpjs,接口公用配置拦截操作
2020/08/11 Javascript
[52:36]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python构建深度神经网络(DNN)
2018/03/10 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
python3中eval函数用法使用简介
2019/08/02 Python
关于TensorFlow新旧版本函数接口变化详解
2020/02/10 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
Python多线程多进程实例对比解析
2020/03/12 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
竞选村长演讲稿
2014/04/28 职场文书
求职意向书
2014/07/29 职场文书
一年级小学生评语大全
2014/12/25 职场文书
个人事迹材料怎么写
2014/12/30 职场文书
我的1919观后感
2015/06/03 职场文书
贷款收入证明范本
2015/06/12 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题
2022/03/16 Redis