python之office_word相關操作

python無法處理.doc文件,所以先將.doc文件轉化爲.docx文件,再處理.docx

一、.doc轉化爲.docx、.pdf、.txt……

python無法處理.doc文件,但可以處理.docx文件,先將.doc轉爲.docx

from win32com import client as wc
 
#word = wc.Dispatch("Word.Application")
#啓動獨立的進程,推薦這種
word = wc.DispatchEx("Word.Application")
 
# 後臺運行,不顯示,不警告
w.Visible = False
w.DisplayAlerts = 0
 
doc = word.Documents.Open(r'D:\Projects\CA\script\CA0218748520031015-DNAv01.DOC')
doc.SaveAs(r'D:\Projects\CA\script\CA0218748520031015-DNAv01.docx', 12, False, '', True, '', False, False, False, False)  #12爲docx
doc.Close()
word.Quit()

若將參數“12”換成“2”,就可將.doc轉成.txt

根據參數設置可以將word文件轉換成任意格式文件

wdFormatDocument 0
wdFormatDocument97 0
wdFormatTemplate 1
wdFormatTemplate97 1
wdFormatText 2
wdFormatTextLineBreaks 3
wdFormatDOSText 4
wdFormatDOSTextLineBreaks 5
wdFormatRTF 6
wdFormatEncodedText 7
wdFormatUnicodeText 7
wdFormatHTML 8
wdFormatWebArchive 9
wdFormatFilteredHTML 10
wdFormatXML 11
wdFormatXMLDocument 12
wdFormatXMLDocumentMacroEnabled 13
wdFormatXMLTemplate 14
wdFormatXMLTemplateMacroEnabled 15
wdFormatDocumentDefault 16
wdFormatPDF 17
wdFormatXPS 18
wdFormatFlatXML 19
wdFormatFlatXMLMacroEnabled 20
wdFormatFlatXMLTemplate 21
wdFormatFlatXMLTemplateMacroEnabled 22

word文件轉html有兩種格式可選wdFormatHTML、wdFormatFilteredHTML(對應數字8、10),區別是如果是wdFormatHTML格式的話,word文件裏面的公式等ole對象將會存儲成wmf格式,而選用wdFormatFilteredHTML的話公式圖片將存儲爲gif格式,而且目測可以看出用wdFormatFilteredHTML生成的HTML明顯比wdFormatHTML要乾淨許多。

二、讀取.docx

  
#讀取.docx
import docx
 
#獲取文檔對象
file=docx.Document(r'D:\Projects\CA\script\CA0218748520031015-DNAv01.docx')
print("段落數:"+str(len(file.paragraphs)))
 
#輸出每一段的內容
for para in file.paragraphs:
    print(para.text)
 
#輸出段落編號及段落內容
for i in range(len(file.paragraphs)):
    print("第"+str(i)+"段的內容是:"+file.paragraphs[i].text)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章