使用openpyxl进行多个excel数据合并

处理excel文件时找了好久没找到有多个文件数据合并,直接复制粘贴又显示必须粘贴在第一行,罢了,代码解决一切不可能

from openpyxl import load_workbook

wb1 = load_workbook('001.xlsx')
wb2 = load_workbook('002.xlsx')
# 激活 worksheet
ws1 = wb1.active  # 母表
ws2 = wb2.active  # 子表

num = 1  # 控制行数
a = 2  # 控制插入位
n = 1  # 列数记录

# 按行读取子表
for i in range(1,634):  # 此处尾数为子文件行数
    print('当前写入行:',a)
    datas = ws2['A{}'.format(num):'F{}'.format(num)]
    for i in datas:
        for data in i:
            key = data.value
            print(key)
            ws1.cell(a,n,key)
            n +=1
            if n == 7:  # 文件列数为6,故==7时回位
                n = 1
                a += 1
                num += 1
wb1.save('003.xlsx')

做个解释:思路读取001、002文件,将002追加在001文件最后一行,生成003文件

你可能感兴趣的:(使用openpyxl进行多个excel数据合并)