Использование метода split для разделения категорий на столбцы из текстового файла - PullRequest
0 голосов
/ 15 апреля 2020

, поэтому у меня возникают проблемы при попытке прочитать файл в программаторе python, разделив строки на столбцы в зависимости от их категорий. Например, строки для name - это разные названия под ним, а затем для строк Occupation - разные названия профессий, а для строк location - разные города. Мне нужно открыть файл, который имеет все эти строки и разделить их на 3 столбца на основе этих трех категорий. Я пробовал методы split, rsplit, splittinglines, но ни один из них не работает. Что я делаю неправильно? Например, вот что я делаю:

fhand = open('names.txt')
for line in fhand:
line = line.rsplit()
print(line)"

Файл выглядит так:

Name:
Pat M.
Jorge M.
Johnny N.
Occupation:
Professor
Web Developer
Computer Scientist
Location:
Delta College
Pleasanton
Lawrence Livermore Lab

1 Ответ

0 голосов
/ 15 апреля 2020

Я не уверен, что разделение строк само по себе полезно, поскольку каждая строка содержит только один фрагмент данных; вам нужно собрать данные в несколько строк. Дайте этому водоворот:

from typing import Dict, List, Optional
from collections import defaultdict

column: Optional[str] = None
columns: Dict[str, List[str]] = defaultdict(list)
with open('names.txt') as fhand:
    for line in fhand:
        line = line.strip()

        # Is this the start of a new column?
        if line[-1] == ":":
            column = line[:-1]
        # If not, append this to the current column.
        elif column is not None:
            columns[column].append(line)
print(columns)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...