之前做了一个简单的, 新建工作簿里导入已有数据,现在做个稍微复杂点的,将数据导入一个已有工作簿,当然,前提条件是一样的,就是两个表的表头必须是一样的
import xlrd
import openpyxl
from openpyxl import load_workbook
#这里注意,要导入Load_workbook
source_wb = [(r'c:\1\1.xlsx'),(r'c:\1\2.xlsx')]
target_wb = (r'c:\1\3.xlsx')
data=[]
for i in source_wb:
wb = xlrd.open_workbook(i)
for sheet in wb.sheets():
for rownum in range(sheet.nrows):
data.append(sheet.row_values(rownum))
print(data)
#上面这一串的思路是,先遍历所有工作簿,再遍历所有工作表,最后遍历所有行
wb2 = load_workbook(target_wb)
wb2st = wb2.active
wb2row = wb2st.max_row
wb2col = wb2st.max_column
# 以上两个,就是假设目标工作簿中,已有数据,所以要找出原有数据的行,列数
for i in range(len(data)):
for j in range(len(data[i])):
wb2st.cell(wb2row+i+1,j+1,data[i][j])
# 上面的意思是,data是一个list数组,先遍历一共有多少组,所以用len(data),然后
# 分别遍历每一组里面,有多个元素,所以用len(data(i))
wb2.save(target_wb)