Python pandas实现excel工作表合并功能详解

作者:qq5d4147c106bd7 时间:2021-05-23 01:33:40 


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工作表合并功能详解

来源:https://blog.51cto.com/14477836/2433364

标签:Python,pandas,excel
0
投稿

猜你喜欢

  • 基于Python制作打地鼠小游戏

    2022-04-07 09:13:34
  • 类型转换的小乐趣

    2010-11-30 21:37:00
  • ASP SCRIPT: 计数器(使用GrapShot组件)

    2008-11-07 15:36:00
  • ASP平台如何打造金牌英文网站

    2008-04-10 08:47:00
  • PHP实现克鲁斯卡尔算法实例解析

    2023-09-08 19:35:57
  • 使用layui 的layedit定义自己的toolbar方法

    2023-08-24 16:21:43
  • 利用GAE&Google Gears做了一个简单的AJAX代理

    2009-04-29 12:42:00
  • SQL Server 日期相关资料详细介绍

    2012-07-11 16:14:07
  • WEB2.0网页制作标准教程(1)选择什么样的DOCTYPE

    2007-11-13 12:57:00
  • 用Python编写一个每天都在系统下新建一个文件夹的脚本

    2021-11-08 22:39:16
  • SQL学习笔记八 索引,表连接,子查询,ROW_NUMBER

    2011-09-30 11:18:24
  • Golang详细讲解常用Http库及Gin框架的应用

    2023-08-25 23:14:41
  • PHP convert_cyr_string()函数讲解

    2023-06-05 00:43:42
  • SQL语句练习实例之三——平均销售等待时间

    2011-10-24 20:11:47
  • 如何制作K线图?

    2010-06-29 17:25:00
  • 如何使用w3 upload上传组件上传文件?

    2010-05-16 15:11:00
  • W3C web标准概念入门

    2008-05-25 15:06:00
  • JavaScript 组件之旅(四):测试 JavaScript 组件

    2009-10-13 20:32:00
  • Go语言的Windows下环境配置以及简单的程序结构讲解

    2023-08-26 16:04:10
  • Python检测数据类型的方法总结

    2022-08-29 22:07:58
  • asp之家 网络编程 m.aspxhome.com