Python的Excel(xlrd,xlwt) – 如何从一个单元格复制一个样式,并把它放在另一个
具体来说,我试图打开一个现有的工作簿,并写入一些数据。
但是,无论何时写入数据,都会抹掉这些单元格上的边界。
所以我想知道是否有方法复制该单元格的样式,然后再写入它,然后重新应用它。
我想我可能会在这段代码的正确轨道上?
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非常不同。
这个问题似乎是使用python的xlrd,xlwt和xlutils.copy保留样式的重复