python将microsoft office docs转换为linux上的纯文本

时间:2009-03-26 12:24:44

标签: python linux ms-office

有关使用python将.doc,.ppt和.xls转换为纯文本的方法的任何建议吗?真的任何转换方法都会有用。我已经看过使用Open Office但是,我想要一个不需要安装Open Office的解决方案。

7 个答案:

答案 0 :(得分:11)

我会去命令行解决方案(然后使用Python subprocess module从Python运行工具)。

可以在此处找到msword( catdoc ),excel( xls2csv )和ppt( catppt )的转换器(源代码形式): http://vitus.wagner.pp.ru/software/catdoc/

无法真正评论catppt的有用性,但catdoc和xls2csv工作得很好!

但请务必首先搜索您的发行版存储库...例如,在ubuntu上,catdoc只是一个快速的get-get away。

答案 1 :(得分:9)

答案 2 :(得分:5)

将Microsoft Office文档转换为HTML或其他格式的常用工具是mswordview,后来已重命名为vwWare

如果您正在寻找命令行工具,他们实际上建议您使用AbiWord执行转换:

AbiWord --to=txt

如果您正在寻找图书馆,请从wvWare overview page开始。他们还保持a list of libraries and tools which read MS Office documents

答案 3 :(得分:2)

在命令行中,antiwordwv可以很好地处理.doc文件。 (不是Python解决方案,但它们易于安装和快速。)

答案 4 :(得分:2)

这里的问题相同。下面是我使用catdoc将dir'docs /'中的所有doc文件转换为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)))

答案 5 :(得分:1)

处理Excel Spreadsheets xlwt很好。但它对.doc.ppt文件无效。

(您可能也听说过PyExcelerator。xlwt是这个的一个分支并且维护得更好,所以我认为你用xlwt会更好。)

答案 6 :(得分:0)

我在使用XSLT将基于XML的办公文件处理成过去可用的东西方面取得了一些成功。它不一定是基于python的解决方案,但确实可以完成工作。