我必须使用Python的格式创建Excel电子表格.我想通过以下方式做到:
>我从Excel开始,因为它很容易格式化:我在Excel中写道
我想要的模型,格式好
>我从Python读到这个
>我用Python创建了一个格式相同的Excel电子表格
最后,目的是从Python Excel电子表格创建,但使用xlwt进行格式化需要花费大量时间,因此我首先考虑在Excel中进行格式化以提供帮助.
我已经研究了这样做的简单方法,但没有发现任何.我可以坚持使用我目前的工作解决方案,在Python中使用xlwt来创建格式化的Excel,但使用起来非常尴尬.
谢谢你的回复
解决方法:
谢谢你的回复.我在Preserving styles using python’s xlrd,xlwt, and xlutils.copy找到了我要搜索的内容.代码如下.
import xlrd
import xlutils.copy
inBook = xlrd.open_workbook('input.xls', formatting_info=True)
outBook = xlutils.copy.copy(inBook)
def _getOutCell(outSheet, colIndex, rowIndex):
""" HACK: Extract the internal xlwt cell representation. """
row = outSheet._Worksheet__rows.get(rowIndex)
if not row: return None
cell = row._Row__cells.get(colIndex)
return cell
def setOutCell(outSheet, col, row, value):
""" Change cell value without changing formatting. """
# HACK to retain cell style.
previousCell = _getOutCell(outSheet, col, row)
# END HACK, PART I
outSheet.write(row, col, value)
# HACK, PART II
if previousCell:
newCell = _getOutCell(outSheet, col, row)
if newCell:
newCell.xf_idx = previousCell.xf_idx
# END HACK
outSheet = outBook.get_sheet(0)
setOutCell(outSheet, 5, 5, 'Test')
outBook.save('output.xls')