Ответ 1
Вы говорите пандам, какая строка является строкой вашего заголовка, передавая False
, это оценивает 0
, поэтому он читает в первой строке как заголовок, как и ожидалось, когда вы передаете True
, он оценивает 1
, так он читает вторую строку, если вы передали None
, то думает, что строки заголовка нет, и автоматически сгенерирует порядковые значения.
In [17]:
import io
import pandas as pd
t="""col1;col2;col3
1.0;10.0;100.0
2.0;20.0;200.0
3.0;30.0;300.0"""
print('False:\n', pd.read_csv(io.StringIO(t), sep=';', header=False))
print('\nTrue:\n', pd.read_csv(io.StringIO(t), sep=';', header=True))
print('\nNone:\n', pd.read_csv(io.StringIO(t), sep=';', header=None))
False:
col1 col2 col3
0 1 10 100
1 2 20 200
2 3 30 300
True:
1.0 10.0 100.0
0 2 20 200
1 3 30 300
None:
0 1 2
0 col1 col2 col3
1 1.0 10.0 100.0
2 2.0 20.0 200.0
3 3.0 30.0 300.0
UPDATE
Начиная с версии 0.17.0
теперь будет подниматься TypeError