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中使用PyHook监听鼠标和键盘事件实例
Jul 18 Python
Python Matplotlib库入门指南
May 18 Python
python实现折半查找和归并排序算法
Apr 14 Python
Python实现字符串与数组相互转换功能示例
Sep 22 Python
Python DataFrame.groupby()聚合函数,分组级运算
Sep 18 Python
从列表或字典创建Pandas的DataFrame对象的方法
Jul 06 Python
python反转列表的三种方式解析
Nov 08 Python
pytorch判断是否cuda 判断变量类型方式
Jun 23 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
Jul 02 Python
python利用platform模块获取系统信息
Oct 09 Python
Python基础知识之变量的详解
Apr 14 Python
Python爬虫:从m3u8文件里提取小视频的正确操作
May 14 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文件操作实例总结
2016/09/27 PHP
游戏人文件夹程序 ver 3.0
2006/07/14 Javascript
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
apycom出品的jQuery精美菜单破解方法
2011/02/18 Javascript
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
JS使用replace()方法和正则表达式进行字符串的搜索与替换实例
2014/04/10 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
初识Javascript小结
2015/07/16 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
2016/08/01 Javascript
Angularjs之filter过滤器(推荐)
2016/11/27 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
2017/03/08 Javascript
详解webpack+vue-cli项目打包技巧
2017/06/17 Javascript
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
taro 实现购物车逻辑的实例代码
2020/06/05 Javascript
解决vue无法侦听数组及对象属性的变化问题
2020/07/17 Javascript
Vue——解决报错 Computed property "****" was assigned to but it has no setter.
2020/12/19 Vue.js
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
Linux 发邮件磁盘空间监控(python)
2016/04/23 Python
Python实现一个简单的验证码程序
2017/11/03 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
python调用java的jar包方法
2018/12/15 Python
python求最大值最小值方法总结
2019/06/25 Python
Python FTP文件定时自动下载实现过程解析
2019/11/12 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
电脑租赁公司创业计划书
2014/01/08 职场文书
机修工工作职责
2014/02/21 职场文书
学徒工职责
2014/03/06 职场文书
幼儿园春季开学寄语
2014/04/03 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
产品陈列协议书(标准版)
2014/09/17 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
2016年班主任培训心得体会
2016/01/07 职场文书
用python自动生成日历
2021/04/24 Python
python通过新建环境安装tfx的问题
2022/05/20 Python