【发布时间】:2017-02-23 04:53:38
【问题描述】:
我有一个包含各种 10 个 docx 文件的文件夹。我正在尝试创建一个语料库,它应该是一个长度为 10 的列表。列表的每个元素都应该引用每个 docx 文档的文本。
我有以下函数可以从 docx 文件中提取文本:
import os
from nltk.corpus.reader.plaintext import PlaintextCorpusReader
import glob
from docx import *
def getText(filename):
document = Document(filename)
newparatextlist = []
for paragraph in document.paragraphs:
newparatextlist.append(paragraph.text.strip().encode("utf-8"))
return newparatextlist
path = 'pat_to_folder/*.docx'
files=glob.glob(path)
corpus_list = []
for f in files:
cur_corpus = getText(f)
corpus_list.append(cur_corpus)
corpus_list[0]
但是,如果我的word文档中有如下内容: http://www.actus-usa.com/sampleresume.doc https://www.myinterfase.com/sjfc/resources/resource_view.aspx?resource_id=53
上面的函数创建一个列表列表。我怎样才能简单地从文件中创建一个语料库?
TIA!
【问题讨论】:
-
没有看到您的文件示例,我们可以肯定。语料库是什么意思,来自 10 个文档的文本列表?
-
在向 newparatextlist 添加文本时使用
extend而不是appent。 -
stackoverflow.com/questions/24104908/… 的副本?答案对链接的问题有帮助吗?
-
@putonspectacles,示例文件附在上面的链接中:actus-usa.com/sampleresume.doc。你是对的,我希望从 10 个文档中创建一个文本列表。该列表中的每个元素都应该是每个文档中的文本。使用我上面使用的方法,我得到了一个包含 10 个列表的列表。当我尝试将其展平时,我得到一个列表,其中每个元素都是文件中的一行,而不是文件中的整个文本。
-
@alvas:这怎么可能是重复的?在发布我的问题之前,我阅读了该问题。我不想创建 docx 文件。我已经有 docx 文件,我正在尝试从中创建一个语料库。我要反过来。