我有一个包含各种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!
答案 0 :(得分:1)
我尝试通过其他方法解决此问题。它还包括将各种docx文件加载到语料库中...我对您的代码做了一些细微更改!
def getText(filename):
doc = Document(filename)
fullText = []
for para in doc.paragraphs:
fullText.append(para.text.strip("\n"))
return " ".join(fullText)
PATH = "path_to_folder/*.docx"
files = glob.glob(PATH)
corpus_list = []
for f in files:
cur_corpus = getText(f)
corpus_list.append(cur_corpus)
希望这可以解决问题!
答案 1 :(得分:0)
从nltk.corpus.reader.plaintext导入PlaintextCorpusReader
语料库= PlaintextCorpusReader(ROOT_PATH,'* .docx')
它应该根据ROOT_PATH中存在的docx文件的所有内容创建语料库