处理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文件