python带格式复制excel样式和内容_使用python的xlrd,xlwt和xlutils.copy保留样式
以下是我將作為針對(duì)xlutils 1.4.1的補(bǔ)丁提出的代碼使用示例#?coding:?asciiimport?xlrd,?xlwt#?Demonstration?of?copy2?patch?for?xlutils?1.4.1#?Context:#?xlutils.copy.copy(xlrd_workbook)?->?xlwt_workbook#?copy2(xlrd_workbook)?->?(xlwt_workbook,?style_list)#?style_list?is?a?conversion?of?xlrd_workbook.xf_list?to?xlwt-compatible?styles#?Step?1:?Create?an?input?file?for?the?demodef?create_input_file():
wtbook?=?xlwt.Workbook()
wtsheet?=?wtbook.add_sheet(u'First')
colours?=?'white?black?red?green?blue?pink?turquoise?yellow'.split()
fancy_styles?=?[xlwt.easyxf(
'font:?name?Times?New?Roman,?italic?on;'
'pattern:?pattern?solid,?fore_colour?%s;'
%?colour)?for?colour?in?colours]
for?rowx?in?xrange(8):
wtsheet.write(rowx,?0,?rowx)
wtsheet.write(rowx,?1,?colours[rowx],?fancy_styles[rowx])
wtbook.save('demo_copy2_in.xls')#?Step?2:?Copy?the?file,?changing?data?content#?('pink'?->?'MAGENTA',?'turquoise'?->?'CYAN')#?without?changing?the?formattingfrom?xlutils.filter?import?process,XLRDReader,XLWTWriter#?Patch:?add?this?function?to?the?end?of?xlutils/copy.pydef?copy2(wb):
w?=?XLWTWriter()
process(
XLRDReader(wb,'unknown.xls'),
w????????)
return?w.output[0][1],?w.style_listdef?update_content():
rdbook?=?xlrd.open_workbook('demo_copy2_in.xls',?formatting_info=True)
sheetx?=?0
rdsheet?=?rdbook.sheet_by_index(sheetx)
wtbook,?style_list?=?copy2(rdbook)
wtsheet?=?wtbook.get_sheet(sheetx)
fixups?=?[(5,?1,?'MAGENTA'),?(6,?1,?'CYAN')]
for?rowx,?colx,?value?in?fixups:
xf_index?=?rdsheet.cell_xf_index(rowx,?colx)
wtsheet.write(rowx,?colx,?value,?style_list[xf_index])
wtbook.save('demo_copy2_out.xls')create_input_file()update_content()
總結(jié)
以上是生活随笔為你收集整理的python带格式复制excel样式和内容_使用python的xlrd,xlwt和xlutils.copy保留样式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python字符串操作符结果没显示_Py
- 下一篇: python调试神器_介绍一款调试Pyt