❶ 如何在 Linux 上使用 Python 讀取 word 文件信息
第一步:獲取doc文件的xml組成文件
import zipfiledef get_word_xml(docx_filename):
with open(docx_filename) as f:
zip = zipfile.ZipFile(f)
xml_content = zip.read('word/document.xml')
return xml_content
第二步:解析xml為樹形數據結構
from lxml import etreedef get_xml_tree(xml_string):
return etree.fromstring(xml_string)
第三步:讀取word內容:
def _itertext(self, my_etree):
"""Iterator to go through xml tree's text nodes"""
for node in my_etree.iter(tag=etree.Element):
if self._check_element_is(node, 't'):
yield (node, node.text)def _check_element_is(self, element, type_char):
word_schema = '99999'
return element.tag == '{%s}%s' % (word_schema,type_char)
❷ 如何在 Linux 上使用 Python 讀取 word 文件信息
必須說明:不同於Illustrator、InDesign、CorelDRAW、OpenOffice DRAW、Incscape等工具,Word是流動分頁的,文件內容本身並不存儲分頁結果。具體分頁時斷在哪裡、最後分出多少頁,都需要現場渲染所有的圖文內容之後才能確定。
(簡而言之就是:Word文件中僅包含了一行一行的文本,與頁面設置中指定的頁面尺寸。Word每次打開文件時都會一行一行「擺放」文本數據,發現一頁裝不下了自動新開一頁。當然真正的Word渲染引擎肯定有更復雜的行為。)
從.doc/.docx文件中直接讀出頁面數量,這本身就是個偽命題。所以千萬別在「直接讀取頁面數量」這個方向上尋求方案——軟體開發的技法不好可以改正,但路線錯了必死無疑!
你需要調動一套能夠真的把Word文件的內容渲染出來的工具(支持二次開發的)。只有把Word文件的所有內容渲染成為可以觀看的圖形,才能准確得知頁面的總數。在Linux上很可能LibreOffice可以吧。而在Windows上就當然是用Word本身了。
注意Word的分頁結論是沒有保證的。缺少字體、字形不同、軟體環境不同等各種原因,都會造成不同電腦上打開同一個Word文件的頁數不一致。這一點對伺服器也沒有例外。得到了頁數也只能參考使用,而不要100%信賴。
❸ 如何用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文件中的文本內容並寫入到新的txt文件
❺ python如何讀取word文件中的文本內容並寫入到新的txt文件
#確保安裝了python-docx包
from docx import Document as Doc
docu=Doc(input('path:'))
file=''
for i in docu.paragraphs:
----file+=i.text
f=open(input('new path:'),'w',encoding='utf-8')
f.write(file)
f.close()
#減號的位置是縮進
❻ python處理word文檔
有個庫叫『Python-docx』
安裝之後 python 可以讀寫 word 文檔,就可以拼接了。