Python可以利用python-docx模塊處理word文檔,處理方式是面向對象的。也就是說python-docx模塊會把word文檔,文檔中的段落、文本、字體等都看做對象,對對象進行處理就是對word文檔的內容處理。
二,相關概念
如果需要讀取word文檔中的文字(一般來說,程序也只需要認識word文檔中的文字信息),需要先了解python-docx模塊的幾個概念。
1,Document對象,表示一個word文檔。
2,Paragraph對象,表示word文檔中的一個段落
3,Paragraph對象的text屬性,表示段落中的文本內容。
三,模塊的安裝和導入
需要注意,python-docx模塊安裝需要在cmd命令行中輸入pip install python-docx,如下圖表示安裝成功(最後那句英文Successfully installed,成功地安裝完成,十分考驗英文水平。)
注意在導入模塊時,用的是import docx。
也真是奇了怪了,怎麼安裝和導入模塊時,很多都不用一個名字,看來是很有必要出一個python版本的模塊管理程序python-maven了,本段純屬PS。
四,讀取word文本
在了解了上面的信息之後,就很簡單了,下面先創建一個D:\temp\word.docx文件,並在其中輸入如下內容。
然後寫一段程序,代碼及輸出結果如下:
#讀取docx中的文本代碼示例
import docx
#獲取文檔對象
file=docx.Document("D:\\temp\\word.docx")
print("段落數:"+str(len(file.paragraphs)))#段落數為13,每個回車隔離一段
#輸出每一段的內容
for para in file.paragraphs:
print(para.text)
#輸出段落編號及段落內容
for i in range(len(file.paragraphs)):
print("第"+str(i)+"段的內容是:"+file.paragraphs[i].text)
運行結果:
================ RESTART: F:/360data/重要數據/桌面/學習筆記/readWord.py ================
段落數:13
啊
我看見一座山
雄偉的大山
真高啊
啊
這座山是!
真的很高!
第0段的內容是:啊
第1段的內容是:
第2段的內容是:我看見一座山
第3段的內容是:
第4段的內容是:雄偉的大山
第5段的內容是:
第6段的內容是:真高啊
第7段的內容是:
第8段的內容是:啊
第9段的內容是:
第10段的內容是:這座山是!
第11段的內容是:
第12段的內容是:真的很高!
>>>
總結
以上就是本文關於Python讀取word文本操作詳解的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
② 請問python tk如何生成圖片這種表格,並且可以在空白處添加內容後保存到新的word
如何利用python爬取數據並保存為word文檔?請看下面的經驗吧! 方法/步驟 在做爬取數據之前,你需要下載安裝兩個東西,一個是urllib,另外一個是python-docx. 然後在python的編輯器中輸入import選項,提供這兩個庫的服務 urllib主要負責抓取網頁的數據,單純的抓取網頁數據其實很簡單,輸入如圖所示的命令,後面帶鏈接即可. 抓取下來了,還不算,必須要進行讀取,否則無效. 接下來就是抓碼了,不轉碼是完成不了保存的,將讀取的函數read轉碼.再隨便標記一個比如XA. 最後
如何利用python爬取數據並保存為word文檔?請看下面的經驗吧!
方法/步驟
在做爬取數據之前,你需要下載安裝兩個東西,一個是urllib,另外一個是python-docx。
然後在python的編輯器中輸入import選項,提供這兩個庫的服務
urllib主要負責抓取網頁的數據,單純的抓取網頁數據其實很簡單,輸入如圖所示的命令,後面帶鏈接即可。
抓取下來了,還不算,必須要進行讀取,否則無效。
接下來就是抓碼了,不轉碼是完成不了保存的,將讀取的函數read轉碼。再隨便標記一個比如XA。
最後再輸入三句,第一句的意思是新建一個空白的word文檔。
第二句的意思是在文檔中添加正文段落,將變數XA抓取下來的東西導進去。
第三句的意思是保存文檔docx,名字在括弧裡面。
這個爬下來的是源代碼,如果還需要篩選的話需要自己去添加各種正則表達式。
③ python怎麼在word表中插圖片
# -*- coding: UTF8 -*-from docx import Documentfrom docx.shared import Pt doc = Document() # 文件存儲路徑path = "C:\\Users\\Administrator\\Desktop\\word文檔\\" # 讀取文檔# doc = Document(path + "hello.docx") # 添加圖片,後面的參數設置圖片尺寸,可以選填doc.add_picture(path + 'cat.jpg', width=Pt(300))
④ python如何讀取圖像文件
import os
folder_name = '文件夾名字'
folders = os.listdir(folder_name)
for folder in folders:
files = os.listdir(os.path.join(folder_name, folder))
for f in files:
#這里對圖片做操作
⑤ 如何用python讀取word
使用Python的內部方法open()讀取文本文件
try:
f=open('/file','r')
print(f.read())
finally:
iff:
f.close()
如果讀取word文檔推薦使用第三方插件,python-docx 可以在官網上下載
使用方式
#-*-coding:cp936-*-
importdocx
document=docx.Document(文件路徑)
docText=' '.join([
paragraph.text.encode('utf-8')forparagraphindocument.paragraphs
])
printdocText
⑥ 怎麼把python輸出為word
程序導出word文檔的方法
將web/html內容導出為world文檔,再java中有很多解決方案,比如使用Jacob、Apache POI、Java2Word、iText等各種方式,以及使用freemarker這樣的模板引擎這樣的方式。php中也有一些相應的方法,但在python中將web/html內容生成world文檔的方法是很少的。其中最不好解決的就是如何將使用js代碼非同步獲取填充的數據,圖片導出到word文檔中。
1. unoconv
功能:
1.支持將本地html文檔轉換為docx格式的文檔,所以需要先將網頁中的html文件保存到本地,再調用unoconv進行轉換。轉換效果也不錯,使用方法非常簡單。
?
\# 安裝
sudo apt-get install unoconv
\# 使用
unoconv -f pdf *.odt
unoconv -f doc *.odt
unoconv -f html *.odt
缺點:
1.只能對靜態html進行轉換,對於頁面中有使用ajax非同步獲取數據的地方也不能轉換(主要是要保證從web頁面保存下來的html文件中有數據)。
2.只能對html進行轉換,如果頁面中有使用echarts,highcharts等js代碼生成的圖片,是無法將這些圖片轉換到word文檔中;
3.生成的word文檔內容格式不容易控制。
2. python-docx
功能:
1.python-docx是一個可以讀寫word文檔的python庫。
使用方法:
1.獲取網頁中的數據,使用python手動排版添加到word文檔中。
⑦ Python代碼保存到word
python代碼只是純文本,語法高亮是ide的功能。所以如果你是想導出與ide一樣的樣式,至少你得說你在用什麼ide。
⑧ python如何讀取word文件
>>>defPrintAllParagraphs(doc):
count=doc.Paragraphs.Count
foriinrange(count-1,-1,-1):
pr=doc.Paragraphs[i].Range
printpr.Text
>>>app=my.Office.Word.GetInstance()
>>>doc=app.Documents[0]
>>>PrintAllParagraphs(doc)
1.什麼是域
域應用基礎
>>>
@staticmethod
defGetInstance():
u'''獲取Word應用程序的Application對象'''
importwin32com.client
returnwin32com.client.Dispatch('Word.Application')
my.Office.Word.GetInstance的方法實現如上,是一個使用win32com操縱Word Com的介面的封裝
所有Paragraph即段落對象,都是通過Paragraph.Range.Text來訪問它的文字的
⑨ 如何利用python抓取網頁中的內容並存到word中
比較復雜 分為三步
1 無論是圖片還是內容都是需要單獨進行抓取的 所以你要構造的請求太多 這種方式不合適
2 使用虛擬瀏覽器的方式 但是這種會將圖片保存進緩存中 程序獲取很困難
3 從結果角度講 獲取圖文並茂的形式無非是易於展示 我們採用的是直接保存成網頁圖片 名稱為URL的UUID
⑩ 如何在 Linux 上使用 Python 讀取 word 文件信息
首先下載安裝win32com
from win32com import client as wc
word = wc.Dispatch('Word.Application')
doc = word.Documents.Open('c:/test')
doc.SaveAs('c:/test.text', 2)
doc.Close()
word.Quit()
這種方式產生的text文檔,不能用python用普通的r方式讀取,為了讓python可以用r方式讀取,應當寫成
doc.SaveAs('c:/test', 4)
注意:系統執行完成後,會自動產生文件後綴txt(雖然沒有指明後綴)。
在xp系統下面,應當
open(r'c:\text','r')
wdFormatDocument = 0
wdFormatDocument97 = 0
wdFormatDocumentDefault = 16
wdFormatDOSText = 4
wdFormatDOSTextLineBreaks = 5
wdFormatEncodedText = 7
wdFormatFilteredHTML = 10
wdFormatFlatXML = 19
wdFormatFlatXMLMacroEnabled = 20
wdFormatFlatXMLTemplate = 21
= 22
wdFormatHTML = 8
wdFormatPDF = 17
wdFormatRTF = 6
wdFormatTemplate = 1
wdFormatTemplate97 = 1
wdFormatText = 2
wdFormatTextLineBreaks = 3
wdFormatUnicodeText = 7
wdFormatWebArchive = 9
wdFormatXML = 11
wdFormatXMLDocument = 12
= 13
wdFormatXMLTemplate = 14
= 15
wdFormatXPS = 18
照著字面意思應該能對應到相應的文件格式,如果你是office 2003可能支持不了這么多格式。word文件轉html有兩種格式可選wdFormatHTML、wdFormatFilteredHTML(對應數字 8、10),區別是如果是wdFormatHTML格式的話,word文件裡面的公式等ole對象將會存儲成wmf格式,而選用 wdFormatFilteredHTML的話公式圖片將存儲為gif格式,而且目測可以看出用wdFormatFilteredHTML生成的HTML 明顯比wdFormatHTML要干凈許多。
當然你也可以用任意一種語言通過com來調用office API,比如PHP.
from win32com import client as wc
word = wc.Dispatch('Word.Application')
doc = word.Documents.Open(r'c:/test1.doc')
doc.SaveAs('c:/test1.text', 4)
doc.Close()
import re
strings=open(r'c:\test1.text','r').read()
result=re.findall('\(\s*[A-D]\s*\)|\(\xa1*[A-D]\xa1*\)|\(\s*[A-D]\s*\)|\(\xa1*[A-D]\xa1*\)',strings)
chan=re.sub('\(\s*[A-D]\s*\)|\(\xa1*[A-D]\xa1*\)|\(\s*[A-D]\s*\)|\(\xa1*[A-D]\xa1*\)','()',strings)
question=open(r'c:\question','a+')
question.write(chan)
question.close()
answer=open(r'c:\answeronly','a+')
for i,a in enumerate(result):
m=re.search('[A-D]',a)
answer.write(str(i+1)+' '+m.group()+'\n')
answer.close()
chan=re.sub(r'\xa3\xa8\s*[A-D]\s*\xa3\xa9','()',strings)
#不要(),容易引起歧義。