簡體   English   中英

python將Microsoft Office文檔轉換為Linux上的純文本

[英]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只是一個不錯的選擇。

用於將Microsoft Office文檔轉換為HTML或其他格式的常用工具是mswordview,此工具現已重命名為vwWare

如果您正在尋找命令行工具,他們實際上建議使用AbiWord執行轉換:

AbiWord --to=txt

如果要查找庫,請從wvWare概述頁面開始 他們還維護讀取MS Office文檔的庫和工具的列表

在命令行中, antiwordwv對於.doc文件非常有效。 (不是Python解決方案,但它們易於安裝且速度很快。)

這里同樣的問題。 下面是我的簡單腳本,該腳本使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM