如何使用循环访问自己分类语料库中的每个文本文件?

2024-09-27 07:21:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python的初学者,我用这句话

reader = CategorizedPlaintextCorpusReader('~/CorpusMain/',
                                      r'.*\.txt', cat_pattern=r'(\w+)/*')

在我的CorpusMain文件夹中,我还有三个文件夹用于分类。我需要分别访问每个类别中的每个文本文件内容,为每个类别构建一个包含文本文件作为元素的列表。。例如 category1=['textfile1 content','textfile2 content'…等] 我想使用我的阅读器来实现这一点,这意味着引用每个文件(fileids())并获取其阅读器.raw结果。。。你知道吗

我需要这个来反馈给我的CountVectorizer,为每个类别建立一个向量。。你知道吗


Tags: txt文件夹元素内容分类content类别reader
1条回答
网友
1楼 · 发布于 2024-09-27 07:21:21

我建议使用os.listdir这样的方法,它将返回指定为其参数的路径的内容列表。你知道吗

举个例子:

对于如下目录结构:

CorpusMain
├ text1.txt
└ text2.txt

文本1.txt:

Text 1 content

文本2.txt:

Text 2 content

以下代码:

import os

def get_txt_content(path, txt):
    with open(path + r'\\' + txt, 'r') as text_file:
        return text_file.read()

def list_txt_content(path):
    textfiles = [_file for _file in os.listdir(path) if _file.endswith('.txt')]
    return [get_txt_content(path, txt) for txt in textfiles]

print list_txt_content(r'~/CorpusMain')

将生成如下列表:

['Text 1 content', 'Text 2 content']

希望有帮助。你知道吗

相关问题 更多 >

    热门问题