python怎么读取word文件_python之python-docx编辑和读取word文档
python調用word接口主要用到的模板為python-docx,基本操作官方文檔有說明。
使用python新建一個word文檔,操作就像文檔里介紹的那樣:1 from docx import Document
2 from docx.shared import Inches
3
4 document = Document()
5
6 document.add_heading('Document Title', 0) #插入標題
7
8 p = document.add_paragraph('A plain paragraph having some ') #插入段落
9 p.add_run('bold').bold = True
10 p.add_run(' and some ')
11 p.add_run('italic.').italic = True
12
13 document.add_heading('Heading, level 1', level=1)
14 document.add_paragraph('Intense quote', style='IntenseQuote')
15
16 document.add_paragraph(
17 'first item in unordered list', style='ListBullet'
18 )
19 document.add_paragraph(
20 'first item in ordered list', style='ListNumber'
21 )
22
23 document.add_picture('monty-truth.png', width=Inches(1.25)) #插入圖片
24
25 table = document.add_table(rows=1, cols=3) #插入表格
26 hdr_cells = table.rows[0].cells
27 hdr_cells[0].text = 'Qty'
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.desc
35
36 document.add_page_break()
37
38 document.save('demo.docx') #保存文檔
讀取和編輯一個已有的word文檔,只需在一開始添加上文件路徑就行了,如下:1 from docx import Document
2 from docx.shared import Inches
3
4 document = Document('demo.docx') #打開文件demo.docx
5 for paragraph in document.paragraphs:
6 print(paragraph.text) #打印各段落內容文本
7
8 document.add_paragraph(
9 'Add new paragraph', style='ListNumber'
10 ) #添加新段落
11
12 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 zipfile
2
3 f=zipfile.ZipFile('demo.docx','r')
4
5 for filename in f.namelist():
6 f.extract(filename)
總結
以上是生活随笔為你收集整理的python怎么读取word文件_python之python-docx编辑和读取word文档的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 因“侵犯少儿隐私诱骗玩家”去年被罚 5.
- 下一篇: python改文件名_python批量修