Использование pandas для чтения текстового файла с ведущими пробелами дает столбец NaN

Я использую панды.read_csv читать разделенных пробелами файл. Файл имеет переменное количество пробелов перед каждой строкой (числа выровнены по правому краю). Когда я читаю этот файл, он создает столбец NaN. Почему это происходит и как это лучше всего предотвратить?

пример:

текстовый файл:

  9.0  3.3 4.0
 32.3 44.3 5.1
  7.2  1.1 0.9
:
import pandas as pd
pd.read_csv("test.txt",delim_whitespace=True,header=None)

выход:

    0     1     2    3
0 NaN   9.0   3.3  4.0
1 NaN  32.3  44.3  5.1
2 NaN   7.2   1.1  0.9

1 ответов


FWIW я склонен использовать \s+ вместо этого, и он не страдает той же проблемой:

>>> pd.read_csv("wspace.csv", header=None, delim_whitespace=True)
    0     1     2    3
0 NaN   9.0   3.3  4.0
1 NaN  32.3  44.3  5.1
2 NaN   7.2   1.1  0.9
>>> pd.read_csv("wspace.csv", header=None, sep=r"\s+")
      0     1    2
0   9.0   3.3  4.0
1  32.3  44.3  5.1
2   7.2   1.1  0.9