python操作word我们需要用到python-docx这个库。
安装命令:
官方文档地址 http://python-docx.readthedocs.io/en/latest/ 官方demo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 from docx import Documentfrom docx.shared import Inchesdocument = Document() document.add_heading('Document Title' , 0 ) p = document.add_paragraph('A plain paragraph having some ' ) p.add_run('bold' ).bold = True p.add_run(' and some ' ) p.add_run('italic.' ).italic = True document.add_heading('Heading, level 1' , level=1 ) document.add_paragraph('Intense quote' , style='IntenseQuote' ) document.add_paragraph( 'first item in unordered list' , style='ListBullet' ) document.add_paragraph( 'first item in ordered list' , style='ListNumber' ) document.add_picture('monty-truth.png' , width=Inches(1.25 )) table = document.add_table(rows=1 , cols=3 ) hdr_cells = table.rows[0 ].cells hdr_cells[0 ].text = 'Qty' hdr_cells[1 ].text = 'Id' hdr_cells[2 ].text = 'Desc' for item in recordset: row_cells = table.add_row().cells row_cells[0 ].text = str(item.qty) row_cells[1 ].text = str(item.id) row_cells[2 ].text = item.desc document.add_page_break() document.save('demo.docx' )
效果如下:
看了上面的官方demo就能直接上手使用了。 不过我建议自己可以按需封装一下方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 from docx import Documentfrom docx.shared import Inchesfrom docx.enum.text import WD_ALIGN_PARAGRAPHfrom docx.shared import Ptfrom docx.oxml.ns import qn document = Document() document.styles['Normal' ].font.name = u'微软雅黑' document.styles['Normal' ]._element.rPr.rFonts.set(qn('w:eastAsia' ), u'微软雅黑' ) title = document.add_paragraph() title.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER def writeP (document, content, size, style = None) : p = document.add_paragraph() run = p.add_run(content) font = run.font font.size = Pt(size) if style == 'bold' : font.bold = True
好了,python操作word就介绍到这里,大家可以去尝试一下。
希望这篇文章能给你带来知识和乐趣,喜欢博主的文章可以加博主好友哦
有好的文章也可以向博主投稿哦