具体要求:
有两个后缀为xls的表格,假设分别为test1.xls和test2.xls。如图,两个表格均只有一个sheet,其表格中的表头相同。将test2.xls中的内容合并到test1.xls中,即追加到test1.xls的下面,表头除外
import xlrd
from xlutils.copy import copy
# test1.xls文件
workbook = xlrd.open_workbook('test1.xls')
wb = copy(workbook)
ws = wb.get_sheet(0)
num_rows = len(ws.rows)
# test2.xls文件
workbook2 = xlrd.open_workbook('test2.xls')
sheet2 = workbook2.sheet_by_index(0)
# 获取test2.xls文件的行数和列数
nrows2 = sheet2.nrows
ncols2 = sheet2.ncols
# 将test2.xls文件的内容写入test1.xls文件
for i in range(1, nrows2):
for j in range(0, ncols2):
ws.write(num_rows + i - 1, j, sheet2.cell_value(i, j))
# 保存到test1.xls中
wb.save('test1.xls')
首先,我们使用xlrd模块打开两个文件:test1.xls和test2.xls。
然后,使用copy函数复制test1.xls文件,并获取第一个工作表。
接下来,获取test2.xls文件的行数和列数。
接下来,使用for循环遍历test2.xls文件的所有行,并将每一行的内容写入test1.xls文件中。具体地说,我们从第二行开始,因为第一行表头不需要。我们使用write函数将每一个单元格的值写入到test1.xls文件中。
最后,我们调用save函数保存修改后的test1.xls文件。
合并后如下