python调用word接口主要用到的模板为python-docx,基本操作官方文档有说明。
使用python新建一个word文档,操作就像文档里介绍的那样:
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 = Truep.add_run(' and some ')p.add_run('italic.').italic = Truedocument.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].cellshdr_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.descdocument.add_page_break()document.save('demo.docx') #保存文档
读取和编辑一个已有的word文档,只需在一开始添加上文件路径就行了,如下:
from docx import Documentfrom docx.shared import Inchesdocument = Document('demo.docx') #打开文件demo.docxfor paragraph in document.paragraphs: print(paragraph.text) #打印各段落内容文本document.add_paragraph( 'Add new paragraph', style='ListNumber') #添加新段落document.save('demo.docx') #保存文档
如果是想读取其中的图片或是更复杂的编辑,首先我们需要先来认识下docx文档的格式组成:
docx是Microsoft Office2007之后版本使用的,用新的基于XML的压缩文件格式取代了其目前专有的默认文件格式,在传统的文件名扩展名后面添加了字母“x”(即“.docx”取代“.doc”、“.xlsx”取代“.xls”、“.pptx”取代“.ppt”)。
docx格式的文件本质上是一个ZIP文件。将一个docx文件的后缀改为ZIP后是可以用解压工具打开或是解压的。事实上,Word2007的基本文件就是ZIP格式的,它可以算作是docx文件的容器。
docx 格式文件的主要内容是保存为XML格式的,但文件并非直接保存于磁盘。它是保存在一个ZIP文件中,然后取扩展名为docx。将.docx 格式的文件后缀改为ZIP后解压, 可以看到解压出来的文件夹中有word这样一个文件夹,它包含了Word文档的大部分内容。而其中的document.xml文件则包含了文档的主要文本内容。
word目录下:
document.xml文件内容:
media目录下存放word文档中插入的图片:
所以,我们可以使用手工的方法编辑文件document.xml来对该word文档内容进行编辑,或是提取文档media中图片文件的方式来提取该word文档中所插入的所有图片。
1 import zipfile2 3 f=zipfile.ZipFile('demo.docx','r') 4 5 for filename in f.namelist():6 f.extract(filename)
文末好书推荐
《Python编程快速上手——让繁琐工作自动化》
本书是一本面向实践的Python编程实用指南。本书的目的,不仅是介绍Python语言的基础知识,而且还通过项目实践教会读者如何应用这些知识和技能。本书的首部分介绍了基本Python编程概念,第二部分介绍了一些不同的任务,通过编写Python程序,可以让计算机自动完成它们。第二部分的每一章都有一些项目程序,供读者学习。每章的末尾还提供了一些习题和深入的实践项目,帮助读者巩固所学的知识。附录部分提供了所有习题的解答。
本书适合任何想要通过Python学习编程的读者,尤其适合缺乏编程基础的初学者。通过阅读本书,读者将能利用强大的编程语言和工具,并且会体会到Python编程的快乐。
文章分享希望对大家有所帮助,喜欢的评论加关注,回复学习即可免费分享给大家文章中的福利!