python pandas处理excel表单整合_Python_pandas实现excel工作表合并功能

由于工作需要整理每周项目成员得周报,需要将很多人得excel合并到同一个文件里面。且项目成员过多,手动打开每一个文件去复制内容,就是一个大量重复性工作,且对于自己得提升毫无用处。于是产生了用代码实现excel合并得想法。

初学python,代码还不够完善,如果大家看到,请指出不足之处,谢谢!

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()

合并文件包含三个工作表:完成任务,下周计划,本周工时(包含了全年的数据,所以需要抽取)。

合并后得文件,如图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值