#python #pandas #csv #python-import
#python #pandas #csv #python-импорт
Вопрос:
Я пытаюсь импортировать данные из файла «.txt», используя read_csv
, но мне не удалось импортировать его правильно. Все столбцы импортируются как один. Я хочу иметь четыре отдельных столбца. Это образец из файла:
TIME A B C
---- ------- ------- -------
1599004800003299944 51 -731 17271
1599004800008323314 47 -606 17245
1599004800013323079 71 -755 17300
1599004800018324785 23 -621 17273
1599004800023317477 42 -705 17268
1599004800028280442 48 -715 17239
Ответ №1:
Сначала вы должны описать свой файл на естественном языке:
- поля разделяются переменным количеством пробелов
- первая строка содержит заголовки
- вторая строка должна быть проигнорирована
Теперь вам нужно просто прочитать соответствующий документ и перевести его в соответствующие параметры:
sep=r's '
илиdelim_whitespace=True
(последнее используется реже AFAIK)header=0
skiprows=[1]
Это дает:
df = pd.read_csv(file_name, sep=r's ', header=0, skiprows=[1])
Ответ №2:
Используйте s
(1 или более пробелов) как sep
:
import pandas as pd
df = pd.read_csv('file.txt', sep='s ')
Ответ №3:
Попробуйте этот код:
data = pd.read_csv('data.txt', sep=' ', skiprows=2)
sep предназначен для разделения между столбцами
skiprows оставляет первые 2 строки непрочитанными
Комментарии:
1. Я получаю эту ошибку: ParserError: ошибка токенизации данных. Ошибка C: ожидалось 12 полей в строке 16, увидел 13 @Anton