Анаконда не установила пакеты openpyxl и xlrd - PullRequest
1 голос
/ 20 марта 2019

После установки новой среды Python 3.6 с pandas, numpy и т. Д., Когда я пытался использовать следующий метод pandas, я получил следующие ошибки:

>>> df.to_excel(filename)
ModuleNotFoundError: No module named 'openpyxl'

Подобная проблема возникла ранее, когда я использовал pd.read_excel метод.

В обоих случаях проблема была решена путем установки openpyxl / xlrd с conda install, но я хотел бы знать, является ли это намеренным поведением и почему openpyxl / xlrd не будет считаться зависимостями панд и установленных с самого начала.

1 Ответ

2 голосов
/ 20 марта 2019

Да, это намеренно.Если вы прочитаете раздел «Необязательные зависимости» документации Pandas , вы увидите, что в него включен ввод-вывод Excel.

Несколько аргументов, которые я могу придумать, почему это хорошо:

  1. В Pandas встроено так много функций, что по умолчанию все, что включено, может привести к блату.
  2. Существует несколько совместимых альтернатив для ввода / вывода в Excel, поэтому может быть несправедливо навязывать конкретный выбор людям, особенно если у них уже есть один вариант для другой зависимости.

Тем не менее, я думаю, что обработка ошибок здесь может быть улучшена.Например, было бы лучше предоставить сообщение о том, что эта функциональность недоступна без одного из пакетов, вместо того, чтобы поразить ModuleNotFoundError.

...