python xlrd / xlwt使用来自2个保存格式的不同工作簿的工作表创build新的工作簿

首先让我解释我的术语。 Excel工作簿包含工作表。 例如,新的Excel工作簿默认包含3张纸。

现在,使用xlrd,xlwt和xlutils,我的目的是输出一个新的工作簿(比如:file3),从file1input3张,从file2输出1张。 这尽可能保留格式。 我正在使用下面的代码(file1,file2,你必须自己手动创build,只需填充数字和文本):

import os import xlrd import xlwt from xlutils.copy import copy as xlutils_copy from copy import deepcopy as deep_copy new_workbook = xlwt.Workbook() with xlrd.open_workbook("file1.xls", formatting_info=True) as rb1: wb1 = xlutils_copy(rb1) allSheets = [] allSheets.append(wb1.get_sheet(0)) allSheets.append(wb1.get_sheet(1)) allSheets.append(wb1.get_sheet(2)) extra = deep_copy(wb1.get_sheet(1)) allSheets.append(extra) allSheets[-1].name = 'extra sheet file1' with xlrd.open_workbook("file2.xls", formatting_info=True) as rb2: wb2 = xlutils_copy(rb2) extra2 = deep_copy(wb2.get_sheet(0)) allSheets.append(extra2) allSheets[-1].name = 'extra sheet file2' new_workbook._Workbook__worksheets = allSheets outputFile = "file3.xls" new_workbook.save(outputFile) os.startfile(outputFile) 

问题是,当我打开我的'file3.xls'我结束了由Excel给出的错误:'文件错误:数据可能已经丢失。 点击“确定”并检查文件,我看到很多#VALUE! 错误,列宽等保存,但字体和颜色没有。 值得注意的是,数字已被完美复制,但文字没有。 有没有人有什么错误的线索?