Панды не читают в файле правильно
У меня есть файл данных, приведенный здесь:: https://www.dropbox.com/sh/8lsvigjjpjhdlap/AAD3VpFdBifGMxrq5C-6yhpPa?dl=0
и следующий код::
import pandas as pd
df = pd.read_table('Best_2018_Table1.txt', sep=r"\s*")
но что-то ломается и панды не читают эту заведомо плохо отформатированную таблицу:
df.columns
df['PS1gmag']
Каков наилучший способ чтения в этом файле типа пробелов для столбцов?
2 ответа
Ваше регулярное выражение ищет 0 или более пробельных символов. Попробуйте \s+, чтобы обеспечить минимум 1 пробел.
Ваш файл имеет фиксированные поля ширины (кроме заголовков) и должен быть прочитан как таковой.
Использование пробела в качестве разделителя не будет работать, потому что некоторые поля пусты и помещают данные в неправильный столбец, например:
2MASS_J00492677-0635467 M8.5 8.5 null M8.5
WISEPC_J004928.48+044100.1 null L9 19. L9
WISE_J004945.61+215120.0 null T8.5 28.5 T8.5
SIPS_J0050-1538 L1: 11. L0.5 10.5 L1:
Станет:
2MASS_J00492677-0635467 M8.5 8.5 null M8.5
WISEPC_J004928.48+044100.1 null L9 19. L9
WISE_J004945.61+215120.0 null T8.5 28.5 T8.5
SIPS_J0050-1538 L1: 11. L0.5 10.5 L1: