Python NLTK从zip文件制作语料库

时间:2018-02-14 18:20:09

标签: python zip nltk corpus

我试图从大约在NLTK创建我自己的语料库。 200k文本文件,每个文件都存储在自己的zip文件夹中。它看起来如下:

  • Parent_dir
    • text1.zip
      • text1.txt

我使用以下代码尝试访问父目录中的所有文本文件:

from nltk.corpus.reader.plaintext import PlaintextCorpusReader
corpus_path="parent_dir"
corpus=PlaintextCorpusReader(corpus_path,".*")
file_ids=corpus.fileids() 
print(file_ids)

但Python只返回一个空列表,因为它可能因为压缩而无法访问文本文件。有没有一种简单的方法来解决这个问题?不幸的是,由于文件的大小,我无法解压缩文件。

1 个答案:

答案 0 :(得分:0)

如果你要做的就是获取fileID,只需使用' glob'模块,它不关心文件类型。

导入模块(如果您没有继续使用pip install glob):

from glob import glob

让您的目录使用*作为通配符来获取目录中的所有内容:

directory = glob('/path/to/your/corpus/*')

glob()方法返回字符串列表(在本例中为文件路径)。

您可以简单地迭代这些来打印文件名:

    for file in directory:
        print(file)

本文看起来像是关于阅读压缩文件内容的问题的答案:How to read text files in a zipped folder in Python

我认为这些方法的组合可以解决您的问题。

祝你好运!