python批量合并表格

python操作Excel可以用openpyxl库,具体代码如下:

import os
import openpyxl

print(os.path.abspath('.')) # 打印当前目录
xlfs = [x for x in os.listdir('.') if os.path.isfile(x) 
and os.path.splitext(x)[1] == '.xlsx'] # 罗列目录内所有xlsx文件
print('需要统计',len(xlfs) , '个表格')
print (xlfs)
print(xlfs[0])

xl0 = xlfs[0]
data0 = []#复制表头数据
wb0 = openpyxl.load_workbook(filename = xl0)
ws0 = wb0.active
for i in range(1,ws0.max_column+1):
    data0.append(ws0.cell(row = 1,column = i).value)
print('表头',data0)

data1 = []#复制数据
num = len(xlfs)
for n in range(num):
    xf = xlfs[n]
    wb1 = openpyxl.load_workbook(filename = xf)
    ws1 = wb1.active
    for i in range(2,ws1.max_row + 1):
        list = []
        for j in range(1,ws1.max_column + 1):
            list.append(ws1.cell(row=i,column=j).value)
        data1.append(list)


# # 汇总表头和数据,新建保存总表
data=[]
data.append(data0)#添加表头
for l in range(len(data1)):#添加数据
    data.append(data1[l])
wb = openpyxl.Workbook()#新建表
we = wb.active
we.title = '汇总'
for n_row in range(1,len(data)+1):#写入数据
    for n_col in range(1,len(data[n_row-1])+1):
        ws.cell(row=n_row,column=n_col,value=str(data[n_row-1][n_col-1]))
wb.save(filename='总表.xlsx')#保存xlsx
print ('汇总完成')

大家可以继续将其优化,以满足工作需求。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值