Pandas read_excel иногда создает индекс, даже когда index_col = None - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь прочитать файл Excel во фрейм данных и хочу установить индекс позже, поэтому я не хочу, чтобы панды использовали столбец 0 для значений индекса.

По умолчанию (index_col=None), он не должен использовать столбец 0 для индекса, но я нахожу, что если в ячейке A1 таблицы есть значение нет , оно будет.

Есть ли способ переопределить-применить это поведение (я загружаю много листов, которые не имеют значения в ячейке A1)?

Это работает, как и ожидалось, когда test1.xlsx имеет значение "DATE" в ячейке A1:

In [19]: pd.read_excel('test1.xlsx')                                             
Out[19]: 
                 DATE         A         B         C
0 2018-01-01 00:00:00  0.766895  1.142639  0.810603
1 2018-01-01 01:00:00  0.605812  0.890286  0.810603
2 2018-01-01 02:00:00  0.623123  1.053022  0.810603
3 2018-01-01 03:00:00  0.740577  1.505082  0.810603
4 2018-01-01 04:00:00  0.335573 -0.024649  0.810603

Но когда на листе нет значения в ячейке A1, он автоматически присваивает индексу значения столбца 0:

In [20]: pd.read_excel('test2.xlsx', index_col=None)                             
Out[20]: 
                            A         B         C
2018-01-01 00:00:00  0.766895  1.142639  0.810603
2018-01-01 01:00:00  0.605812  0.890286  0.810603
2018-01-01 02:00:00  0.623123  1.053022  0.810603
2018-01-01 03:00:00  0.740577  1.505082  0.810603
2018-01-01 04:00:00  0.335573 -0.024649  0.810603

Это не то, что я хочу.

Желаемый результат: такой же, какпервый пример (но с «Безымянным» в качестве метки столбца, возможно).

Документация говорит

index_col: int, список int, по умолчанию None.

Столбец (0-индексированный) для использования в качестве меток строк в DataFrame.Пройдите None, если такого столбца нет.

1 Ответ

0 голосов
/ 02 февраля 2019

Проблема, которую вы описываете, соответствует известной ошибке панд.Эта ошибка была исправлена ​​в недавнем выпуске pandas 0.24.0 :

Исправления ошибок

  • Ошибка в read_excel () , в котором index_col=None не соблюдается и все равно анализирует столбцы индекса ( GH18792 , GH20480 )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...