Разбор .txt с разделителями табуляции в Pandas DataFrame

У меня есть файл .txt с разделителями табуляции, который я пытаюсь импортировать в фрейм данных в Python того же формата, что и текстовый файл, как показано ниже:

ветчина TAB Иди до точки Джуронг, сумасшедший.. Доступно только в буфете Bugis n Great World La E... Кинотеатр есть любовь...

спам TAB Бесплатный вход в 2 еженедельных турнира за победу в финале Кубка Англии 21 мая 2005 года. Отправьте сообщение FA на номер 87121, чтобы получить вопрос для участия (стандартная скорость отправки сообщений).

...

Обратите внимание, что есть еще много, много строк вышеприведенного материала (примерно 5500), которые я хочу передать в Python и сохранить то же форматирование при создании из него матричного массива.

Текущий код, который у меня есть для этого:

 import pandas as pd 

 with open("SMSSpamCollection.txt") as f:
      reader = csv.reader(f, delimiter = "\t")
      d = list(reader)
 d = pd.DataFrame(reader)

Что немного делает то, что мне нужно, но мне нужен DataFrame с двумя столбцами: Y (содержащий ветчину или спам) и второй X (содержащий сообщение). В это время я получаю [5572,2] DataFrame.


person legends1337    schedule 06.03.2020    source источник
comment
Вы работаете гораздо усерднее, чем нужно. Pandas read_csv управляет всем контекстом файлов. и чтение практически без необходимости настройки, но доступно множество настроек   -  person G. Anderson    schedule 07.03.2020


Ответы (1)


Как насчет этого:

import pandas as pd 
d = pd.read_csv("SMSSpamCollection.txt", sep="\t", names=['Y','X'])
person Błotosmętek    schedule 06.03.2020