Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的文档、rtf和txt读取器_Python_Python 3.x - Fatal编程技术网

python中的文档、rtf和txt读取器

python中的文档、rtf和txt读取器,python,python-3.x,Python,Python 3.x,与csv.reader()类似,还有其他函数可以读取Python中的.rtf、.txt、.doc文件吗?您可以使用 txt = open("file.txt").read() 尝试RTF文件。我认为读取MS Word.doc文件是不太可能的,除非您在Windows上,并且可以使用一些原生MS接口来读取这些文件。声明显示如何编写与Word接口的脚本。csv是一种特定格式,因此您需要一个“解析器”来读取它。这就是您提到的csv模块提供的内容。文本文件(通常后缀为.txt)没有任何固定的“格式”,因

csv.reader()
类似,还有其他函数可以读取Python中的
.rtf
.txt
.doc
文件吗?

您可以使用

txt = open("file.txt").read()

尝试RTF文件。我认为读取MS Word.doc文件是不太可能的,除非您在Windows上,并且可以使用一些原生MS接口来读取这些文件。声明显示如何编写与Word接口的脚本。

csv
是一种特定格式,因此您需要一个“解析器”来读取它。这就是您提到的csv模块提供的内容。文本文件(通常后缀为
.txt
)没有任何固定的“格式”,因此您可以在
打开后阅读它们(Jesse的回答给出了详细信息)。CSV文件通常是文本文件,因此您的区分不是很准确

至于RTF,有很多。有关详细信息,请参阅。Jesse提到的PyRTF似乎是最受欢迎的


Microsoft Word文档文件(通常后缀为
.doc
)是另一种野兽,因为其格式是专有的。我对Python转换器没有太多经验,但有一些命令行转换器(如wvHTML)做得相当不错。讨论了不少。还有一个选择是让微软Word自己通过互联网为你做这件事。像Jesse提到的COM接口

对于word和writer文档,我真的很头疼

有一个简单的解决方案:在命令行上调用openoffice将目标文档转换为文本,然后将文本加载到Python中

我尝试的其他转换工具产生了不可靠的输出,而其他Python oOo库过于复杂

如果您只想获取文本以便处理它,请在linux命令行上使用以下命令:

soffice --headless --convert-to txt:Text /path_to/document_to_convert.doc
(如果您想自动化它,可以使用子流程从Python调用它)

它将创建可以简单加载到python中的文本文件

()

有一个名为“docx”的python模块,可用于读取.docx文件。你将无法阅读.doc,因为它现在几乎过时了

from docx import Document
doc = Document(filepath)
# Reading Data
data = doc.paragraphs
tables = doc.tables

您可以在Pypi上找到它。

不要使用
|
。有一个
与此相关:
from docx import Document
doc = Document(filepath)
# Reading Data
data = doc.paragraphs
tables = doc.tables