Nano Hash - криптовалюты, майнинг, программирование

Как я могу получить доступ к каждому текстовому файлу в моем собственном категоризированном корпусе с помощью цикла?

Я новичок в питоне, я использую эту строку

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

Внутри моей папки CorpusMain у меня есть еще три папки для категорий. Мне нужно получить доступ к каждому содержимому текстового файла в каждой категории отдельно, создавая список для каждой категории, содержащий текстовые файлы в качестве элементов.. например, category1 = ['textfile1 content', 'textfile2 content'... и т. д.] Я хочу сделать это используя мой читатель, то есть ссылаться на каждый файл (fileids()) и получать его результат reader.raw...

Мне нужно это, чтобы передать их обратно в мой CountVectorizer, чтобы построить вектор для каждой категории.

06.03.2017

Ответы:


1

Я бы предложил что-то вроде 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']

Надеюсь, поможет.

06.03.2017
  • На самом деле я хочу построить массив корпуса, каждый элемент которого содержит один файл, например: corpus = ['это содержимое текстового файла1', 'это содержимое текстового файла 2'....], поэтому я хочу необработанные данные моих файлов для чтения... 13.03.2017
  • Итак, вы просто хотите перечислить содержимое каждого текстового файла в определенной папке? 13.03.2017
  • Я исправил это. Большое спасибо за Вашу помощь! :D 15.03.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..