[英]python convert microsoft office docs to plain text on linux
關於使用python在Linux上將.doc,.ppt和.xls轉換為純文本的方法的任何建議? 實際上,任何轉換方法都是有用的。 我已經考慮過使用Open Office,但是,我想要一個不需要安裝Open Office的解決方案。
我將使用命令行解決方案(然后使用Python子過程模塊從Python運行工具)。
可以在以下位置(以源代碼形式)找到msword( catdoc ),excel( xls2csv )和ppt( catppt )的轉換器: http : //vitus.wagner.pp.ru/software/catdoc/ 。
不能真正評論catppt的有用性,但是catdoc和xls2csv可以很好地工作!
但是請確保首先搜索您的發行版存儲庫...例如,在ubuntu上,catdoc只是一個不錯的選擇。
您可以通過Python API訪問OpenOffice 。
嘗試以此為基礎: http : //wiki.services.openoffice.org/wiki/Odt2txt.py
用於將Microsoft Office文檔轉換為HTML或其他格式的常用工具是mswordview,此工具現已重命名為vwWare 。
如果您正在尋找命令行工具,他們實際上建議使用AbiWord執行轉換:
AbiWord --to=txt
如果要查找庫,請從wvWare概述頁面開始 。 他們還維護讀取MS Office文檔的庫和工具的列表 。
這里同樣的問題。 下面是我的簡單腳本,該腳本使用catdoc將dir'docs /'中的所有文檔文件轉換為dir'txts /'。 希望它能幫助某人:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import glob, re, os
f = glob.glob('docs/*.doc') + glob.glob('docs/*.DOC')
outDir = 'txts'
if not os.path.exists(outDir):
os.makedirs(outDir)
for i in f:
os.system("catdoc -w '%s' > '%s'" %
(i, outDir + '/' + re.sub(r'.*/([^.]+)\.doc', r'\1.txt', i,
flags=re.IGNORECASE)))
對於處理Excel Spreadsheets xlwt很好。 但這對.doc
和.ppt
文件沒有幫助。
(您可能還聽說過PyExcelerator。xlwt是其中的一個分支,並且得到了更好的維護,因此我認為xlwt會更好。)
我強烈建議使用Tika。 它處理Pdf,Doc,Docx等。
這是示例代碼。
https://medium.com/@justinboylantoomey/fast-text-extraction-with-python-and-tika-41ac34b0fe61
祝好運
在使用XSLT將基於XML的Office文件處理成過去可用的東西方面,我已經取得了一些成功。 它不一定是基於python的解決方案,但確實可以完成工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.