首先让我解释一下我的术语。Excel工作簿有工作表。E、 新的Excel工作簿默认包含3张工作表。在
现在,通过使用xlrd、xlwt和xlutils,我的目的是输出一个新的工作簿(比如:file3),输入文件1中的3张工作表和file2中的1张工作表。这一切都尽可能地保留格式。我使用以下代码(file1,file2您必须自己手动创建,只需用数字和文本填充它们):
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给出的错误:“文件错误:数据可能丢失了。”单击“确定”并检查文件,我看到了很多#值!错误、列宽等被保留,但是字体和颜色没有。值得注意的是,数字被完美地复制了,而文本却没有。有人知道出什么问题了吗?在
目前没有回答
相关问题 更多 >
编程相关推荐