#python #pandas
#python #строка #фрейм данных #csv
Вопрос:
У меня есть файл .txt с разделителями табуляции, который я пытаюсь импортировать в фрейм данных на Python того же формата, что и текстовый файл, как показано ниже:
ВКЛАДКА ham идет до точки jurong, сумасшедшая.. Доступно только в bugis n great world la e buffet… Кино там стало больше вата…
вход без спам-вкладок в игре 2 a wkly comp за победу в финале Кубка Англии tkts21 мая 2005 года. Отправьте сообщение FA на номер 87121, чтобы получить вопрос о вводе (скорость стандартного текстового ввода), применяются правила 08452810075over18
…
Обратите внимание, что есть еще много, много строк из приведенного выше материала (примерно 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)
Что немного делает то, что мне нужно, но мне нужен фрейм данных с 2 столбцами: Y (содержащий ветчину или спам) и второй X (содержащий сообщение). В это время я получаю фрейм данных [5572,2].
Комментарии:
1. Вы работаете намного усерднее, чем нужно. Pandas read_csv обрабатывает все управление контекстом файла и чтение практически без необходимости настройки, но доступно множество настроек
Ответ №1:
Как насчет этого:
import pandas as pd
d = pd.read_csv("SMSSpamCollection.txt", sep="t", names=['Y','X'])