如何计算复杂文档中的单词(.rtf,.doc,.odt等)?

时间:2010-02-13 07:52:55

标签: python document openoffice.org word-count

我正在尝试编写一个Python函数,给定文档文件的路径,返回该文档中的单词数。这对于.txt文件来说相当容易,而且有些工具允许我一起破解对一些更复杂的文档格式的支持,但我想要一个非常全面的解决方案。

查看OpenOffice.org的py-uno脚本界面和支持的格式列表,将文档加载到无头OOo并调用其字数统计函数似乎是理想的。但是,我找不到任何超出基本文档生成的py-uno教程或示例代码,甚至我发现的代码片段已经过时了五年而且不再有效。

无论是否使用OOo和Uno,如何为各种格式的文档获取可靠的字数?

2 个答案:

答案 0 :(得分:3)

将文档加载到无头OOo 中   并调用其word-count function

PyODConverter是最近(11-2009)使用OOo转换多种文件类型的脚本。查看脚本,它基本上加载了所有OOo支持的文档。

这就是你如何开始OOo作为无头服务:

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

然后你只需编写一个小的引导程序,在命令行上调用OOo,运行你的脚本,然后关闭OOo。


答案 1 :(得分:2)

这可能不是您的选择,但如果是 - 您可以将文档上传到Google文档,然后以.txt格式导出。谷歌通常在转换方面做得非常好。

您可以在此处找到相关的API:http://code.google.com/intl/pl/apis/documents/docs/1.0/developers_guide_python.html

查看登录,上传和导出部分。