#python #pandas
#python #pandas
Вопрос:
Я пытаюсь прочитать файл данных с заголовком. Файл данных прикреплен, и я использую следующий код:
import pandas as pd
data=pd.read_csv('TestData.out', sep=' ', skiprows=1, header=None)
Проблема в том, что у меня в файле данных 20 столбцов, в то время как я получаю 32 столбца в переменных данных. Как я могу решить эту проблему. Я очень новичок в Python, и я учусь.
Комментарии:
1. В настоящее время доступ к файлу запрещен
2. О! извините, позвольте мне взглянуть на это
3. Теперь должно сработать, спасибо, что дали мне знать
Ответ №1:
Ваш текстовый файл содержит два пробела вместе, в из любого значения, которое не имеет знака минус. если sep=' '
pandas видит это как два разделителя, между которыми нет ничего ( Nan
) .
Это исправит это:
data = pd.read_csv('TestData.out', sep='s ', skiprows=1, header=None)
В этом случае sep
интерпретируется как регулярное выражение, которое ищет «один из нескольких пробелов» в качестве разделителя и возвращает столбцы 0, хотя 19.
Ответ №2:
Ваш файл данных имеет непоследовательное разделение пространства. Итак, вам просто нужно пропустить следующий пробел после разделителя. Этот простой код работает:
data= pd.read_csv('TestData.out',sep=' ',skiprows=1,skipinitialspace=True)
Комментарии:
1. Это съедает одну строку, выводит только 99 строк из 100
2. Да, ваш файл содержит данные, отличные от заголовка, в качестве первой строки. Итак, вы должны пропустить его синтаксический анализ, используя skiprows=1 .