Python编辑word,python实现文本编辑器
用来调用python word接口的主要模板是python-docx,基本操作的官方文档都有说明。
使用python创建新的word文档。操作如文档中所述:
1来自docx importDocument2来自docx.shared importInches3
4文档=文档()5
6 document.add _ heading(文档标题,0) #插入标题
七
P=document.add _ paragraph(有一些的普通段落)# insert paragraph
9 p.add_run(bold )。bold=true 10 p . add _ run( and some )11 p . add _ run( italic。).italic=True12
13 document . add _ Heading( Heading,level 1 ,level=1)14 document . add _ paragraph( IntenseQuote ,style=IntenseQuote)15
16 document.add_paragraph(17 无序列表中的第一项,style=ListBullet
18 )19 document.add_paragraph(20 有序列表中的第一项,style=ListNumber
21 )22
2 document . add _ picture( monty-truth . png ,width=inches (1.25)) #插入一张图片
24
2 table=document . add _ table(rows=1,cols=3) #插入表格
26 HDR _ cells=table . rows[0]. cells 27 HDR _ cells[0]。text=数量
28 hdr_cells[1]。text=Id
29 hdr_cells[2]。text=Desc
30 for item in recordset:31 row _ cells=table . add _ row()cells 32 row _ cells[0]。text=str(item . qty)33 row _ cells[1]。text=str(item . id)34 row _ cells[2]。text=item.desc35
36 document.add_page_break()37
38 document.save(demo.docx) #保存文档
要阅读和编辑现有的word文档,只需在开头添加文件路径,如下所示:
1来自docx importDocument2来自docx.shared importInches3
4 document=document( demo.docx )#打开文件demo . docx。
5代表文件中的段落。段落:6 print (paragraph.text) #打印每个段落的内容文本。
七
8 document.add_paragraph(9 添加新段落,style=ListNumber
10) #添加一个新段落
11
1document.save (demo.docx) #保存文档
如果要阅读图片或者编辑更复杂的图片,首先我们需要了解docx文档的格式构成:
2007年以后Microsoft Office2007使用Docx。它用一种新的基于XML的压缩文件格式替换了其当前专有的默认文件格式,并在传统的文件扩展名(即。docx 替换。文档,。xlsx 替换。xls 和。pptx 替换。PPT’)。
docx格式的文件本质上是一个ZIP文件。将docx文件的后缀改为ZIP后,可以用解压缩工具打开或解压缩。其实Word2007的基础文件是ZIP格式的,可以看作是docx文件的容器。
docx文件的主要内容以XML格式保存,但文件并不直接保存在磁盘中。它保存在一个ZIP文件中,然后扩展名是docx。在中更改文件的后缀。docx格式来压缩和提取它。可以看到提取出来的文件夹中有一个类似word的文件夹,里面包含了Word文档的大部分内容。document.xml文件包含文档的主要文本内容。
在word目录下:
Document.xml文件内容:
媒体目录存储word文档中插入的图片:
因此,我们可以通过手动编辑document.xml来编辑word文档的内容,也可以通过提取文档介质中的图片文件来提取word文档中插入的所有图片。
1导入zip文件2
3 f=zipfile。ZipFile(demo.docx , r)4
5 for filename INF . namelist():6 f . extract(filename)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。