先将Excel每次读取的信息存储到list列表中,然后最后一次写入。
import xlrd
import xlsxwriter
source_xls = ["F:\\study\\myTest我的测试路径\\目标文件1.xlsx", "F:\\study\\myTest我的测试路径\\目标文件2.xlsx"]
target_xls = "F:\\study\\myTest我的测试路径\\合并后文件3.xlsx"
# 读取数据
data = []
for i in source_xls:
wb = xlrd.open_workbook(i)
for sheet in wb.sheets():
for rownum in range(sheet.nrows):
data.append(sheet.row_values(rownum))
print(data)
# 写入数据
workbook = xlsxwriter.Workbook(target_xls)
worksheet = workbook.add_worksheet()
font = workbook.add_format({"font_size":14})
for i in range(len(data)):
for j in range(len(data[i])):
worksheet.write(i, j, data[i][j], font)
# 关闭文件流
workbook.close()
需要注意的地方:
1、Excel的后缀是xlsx,不是xls;
2、合并后的文件不需要手动创建,右程序创建;
3、报错xlrd.biffh.XLRDError: Excel xlsx file; not supported的话,是因为xlrd 2.0.0以后的版本不支持xlsx格式的excel文件,卸载后装xlrd 1.2.0即可。可参考Python报错:xlrd.biffh.XLRDError: Excel xlsx file; not supported_暴枫渔的博客-CSDN博客
|