我試圖讀取DOCX文件,用下面的代碼文件:讀取DOCX與python2.7
from docx import Document
doc = Document('test.docx')
但是,當我嘗試打印它,我得到這個:
<docx.api.Document object at 0x02952C70>
如何讀取文件內的內容?
我看到最近更改了docx,所以舊的問題/答案不再適用。
我試圖讀取DOCX文件,用下面的代碼文件:讀取DOCX與python2.7
from docx import Document
doc = Document('test.docx')
但是,當我嘗試打印它,我得到這個:
<docx.api.Document object at 0x02952C70>
如何讀取文件內的內容?
我看到最近更改了docx,所以舊的問題/答案不再適用。
它可以不使用docx
模塊提取使用Python的Word文件的信息。 One solution, (there are many), from etienne是docx
的一個非常基本的版本,它可能會刪除您收到的十六進制數字。但是,就像SebasSBM的回答一樣,它不適用於其他功能,比如表格等。
如果仍然不起作用,我會建議看看these answers;也許其中一個仍然與您的新docx格式相關。
退房這裏的文檔對象的結構:
例如,如果你想獲得的財產「段落」:
doc = Document('test.docx')
paragraphs = doc.paragraphs()
我希望這將有助於。
編輯:我已經在python-docx's gitHub repository發現這個片斷和編輯它一點點的位置:
document = docx.Document(filename)
docText = '\n\n'.join([
paragraph.text.encode('utf-8') for paragraph in document.paragraphs
])
print docText
的加入()函數接收返回的數組中的UTF-8從段落編碼字符串列表由段落財產。所以結果如下:
paragraph 1
paragraph 2
paragraph 3
它看起來像這樣,但它不打印表格,頁眉或頁腳。
編輯:這個鏈接是有關Python-DOCX所有文件的主要指標:
好的,但我仍然得到十六進制代碼,而不是純文本 – user3511563
我編輯了答覆新的信息和代碼片段。一探究竟。 – SebasSBM
謝謝,但我得到特殊字符的問題(例如,而不是得到são,我得到s├úo)。 – user3511563
您是否嘗試訪問段落? –
不,我該怎麼做@ IgnacioVazquez-Abrams? – user3511563
您是否嘗試過在文檔中告訴您的內容? –