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保留样式的重复