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)