具体来说,我正试图打开一个现有的工作簿,并向其中写入一些数据。
然而,每当我写数据时,它就会抹去这些单元格上的边框。
所以我想知道是否有一种方法可以在写入之前复制该单元格的样式,然后重新应用它。
我想我可能是在正确的轨道上与这个代码?
from xlrd import open_workbook
from xlwt import easyxf
from xlutils.copy import copy
from xlutils.styles import Styles
rb=open_workbook('source.xls',formatting_info=True)
styles = Styles(rb)
rs=rb.sheet_by_index(0)
wb=copy(rb)
ws=wb.get_sheet(0)
for i,cell in enumerate(rs.col(2)):
if not i:
continue
cell_style = styles[rs.cell(i,2)]
ws.write(i,2,cell.value,cell_style)
wb.save('output.xls')
但我有个错误:
AttributeError: NamedStyle instance has no attribute 'font'
这里的问题是xlrd.NamedStyle与xlwt.XFStyle非常不同。
这个问题似乎是Preserving styles using python's xlrd,xlwt, and xlutils.copy的重复
相关问题 更多 >
编程相关推荐