2024-05-20 11:36:48 发布
网友
像csv.reader()一样,还有其他函数可以读取Python中的.rtf、.txt、.doc文件吗?
csv.reader()
.rtf
.txt
.doc
我真的很头疼尝试做这个简单的word和writer文档。
有一个简单的解决方案:在命令行上调用openoffice将目标文档转换为文本,然后将文本加载到Python中。
我尝试的其他转换工具产生了不可靠的输出,而其他Python oOo库太复杂。
如果只想获取文本以便进行处理,请在linux命令行中使用此命令:
soffice --headless --convert-to txt:Text /path_to/document_to_convert.doc
(如果您想自动化它,可以使用子流程从Python调用它)。
它将创建文本文件,您可以简单地将其加载到python中。
(Credit)
csv是一种特定的格式,因此您需要一个“解析器”来读取它。正如您所提到的,这就是csv模块提供的功能。文本文件(通常以.txt作为后缀)没有任何固定的“格式”,因此您可以在open之后阅读它们(Jesse的回答提供了详细信息)。CSV文件通常是文本文件,因此您的区分不是很准确。
csv
open
至于RTF,有很多。有关详细信息,请参见this answer。杰西提到的PyRTF似乎是最受欢迎的。
Microsoft Word文档文件(通常以.doc作为后缀)是另一个猛兽,因为格式是专有的。我对Python转换器没有太多经验,但是有一些命令行转换器(比如wvHTML)做得比较好。This question讨论了很多。还有一个选择是让MS-Word自己通过。像Jesse提到的COM接口。
您可以使用
txt = open("file.txt").read()
对于RTF文件,请尝试PyRTF。我认为,除非您是在Windows上,并且可以使用一些本地MS接口来读取这些文件,否则读取MS Word.doc文件是不太可能的。This article声明演示如何编写与Word接口的脚本。
我真的很头疼尝试做这个简单的word和writer文档。
有一个简单的解决方案:在命令行上调用openoffice将目标文档转换为文本,然后将文本加载到Python中。
我尝试的其他转换工具产生了不可靠的输出,而其他Python oOo库太复杂。
如果只想获取文本以便进行处理,请在linux命令行中使用此命令:
(如果您想自动化它,可以使用子流程从Python调用它)。
它将创建文本文件,您可以简单地将其加载到python中。
(Credit)
csv
是一种特定的格式,因此您需要一个“解析器”来读取它。正如您所提到的,这就是csv模块提供的功能。文本文件(通常以.txt
作为后缀)没有任何固定的“格式”,因此您可以在open
之后阅读它们(Jesse的回答提供了详细信息)。CSV文件通常是文本文件,因此您的区分不是很准确。至于RTF,有很多。有关详细信息,请参见this answer。杰西提到的PyRTF似乎是最受欢迎的。
Microsoft Word文档文件(通常以
.doc
作为后缀)是另一个猛兽,因为格式是专有的。我对Python转换器没有太多经验,但是有一些命令行转换器(比如wvHTML)做得比较好。This question讨论了很多。还有一个选择是让MS-Word自己通过。像Jesse提到的COM接口。您可以使用
对于RTF文件,请尝试PyRTF。我认为,除非您是在Windows上,并且可以使用一些本地MS接口来读取这些文件,否则读取MS Word.doc文件是不太可能的。This article声明演示如何编写与Word接口的脚本。
相关问题 更多 >
编程相关推荐