2014-02-20 3 views
20

У меня есть простой 2 колонки файл CSV под названием st1.csv:питона панды не читает первый столбец из CSV-файла

GRID St1 
1457 614 
1458 657 
1459 679 
1460 732 
1461 754 
1462 811 
1463 748 

Однако, когда я пытаюсь прочитать файл CSV, то первый столбец не загружен:

a = pandas.DataFrame.from_csv('st1.csv') 
a.columns 

выходы:

Index([u'ST1'], dtype=object) 

Почему первый столбец не Bei ng читать?

+1

Это в предположении, что первый столбец индекса, попробуйте = 'pandas.DataFrame.from_csv ('st1.csv', index_col = False)' – EdChum

+0

благодарственное вы так много, это именно то, чего мне не хватало. – user308827

ответ

35

Судя по вашим данным, это похоже на разделитель, который вы используете, - это .

Попробуйте следующее:

a = pandas.DataFrame.from_csv('st1.csv', sep=' ') 

Другой вопрос заключается в том, что это предполагается, что ваш первый столбец является индексом, который можно также отключить:

a = pandas.DataFrame.from_csv('st1.csv', index_col=None) 
+0

Большое спасибо, ребята! – user308827

+0

интересно, что в документах нет упоминания об установке index_col = False, но это определенно является частью решения: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.from_csv.html –

+1

В Python 3: index_col = False выдает ошибку, я использовал index_col = None и отлично работает ... – Grant

5

На основании документации, которая сопоставляет read_csv и from_csv , это показывает, что можно положить index_col = None. Я попробовал ниже, и это сработало:

DataFrame.from_csv('st1.csv', index_col=None); 

Предполагается, что данные разделяются запятой.

Пожалуйста, проверьте ссылку ниже

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.from_csv.html

Смежные вопросы