【发布时间】:2009-03-26 12:24:44
【问题描述】:
关于在 linux 上使用 python 将 .doc、.ppt 和 .xls 转换为纯文本的方法有什么建议吗?真的任何转换方法都是有用的。我已经研究过使用 Open Office,但我想要一个不需要安装 Open Office 的解决方案。
【问题讨论】:
-
我使用了命令行解决方案
关于在 linux 上使用 python 将 .doc、.ppt 和 .xls 转换为纯文本的方法有什么建议吗?真的任何转换方法都是有用的。我已经研究过使用 Open Office,但我想要一个不需要安装 Open Office 的解决方案。
【问题讨论】:
我会选择命令行解决方案(然后使用 Python subprocess module 从 Python 运行工具)。
可以在此处找到 msword (catdoc)、excel (xls2csv) 和 ppt (catppt) 的转换器(以源形式): http://vitus.wagner.pp.ru/software/catdoc/.
无法真正评论 catppt 的用处,但 catdoc 和 xls2csv 效果很好!
但请务必先搜索您的发行版存储库...在 ubuntu 上,例如 catdoc 只是一个快速的 apt-get away。
【讨论】:
【讨论】:
将 Microsoft Office 文档转换为 HTML 或其他格式的常用工具是 mswordview,此后已重命名为 vwWare。
如果您正在寻找命令行工具,他们实际上建议使用 AbiWord 来执行转换:
AbiWord --to=txt
如果您正在寻找图书馆,请从 wvWare overview page 开始。他们还维护a list of libraries and tools which read MS Office documents。
【讨论】:
同样的问题。下面是我使用 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)))
【讨论】:
:D
对于处理 Excel 电子表格 xlwt 很好。但它对.doc 和.ppt 文件没有帮助。
(您可能还听说过 PyExcelerator。xlwt 是它的一个分支,并且维护得更好,所以我认为您最好使用 xlwt。)
【讨论】:
过去,我在使用 XSLT 将基于 XML 的办公文件处理成可用的东西方面取得了一些成功。它不一定是基于 python 的解决方案,但它确实完成了工作。
【讨论】: