ImportError: не может импортировать имя get_column_letter

Я могу использовать openpyxl в качестве импорта в моем коде. Но когда я пытаюсь сделать следующее:

from openpyxl.cell import get_column_letter 

Я получаю следующую ошибку:

ImportError: cannot import name get_column_letter

Я использую python 2.7. Я установил его с помощью easy_install. Пробовал поиск этой проблемы, но не смог найти ничего связанного с ней.

Ответ 1

Функция get_column_letter была перемещена в Openpyxl версии 2.4 из openpyxl.cell в openpyxl.utils.

Текущий импорт: from openpyxl.utils import get_column_letter

Если вы не хотите знать, какую версию имеет конечный пользователь, вы можете использовать следующий код:

try: 
    from openpyxl.cell import get_column_letter
except ImportError:
    from openpyxl.utils import get_column_letter

Ответ 2

from openpyxl.utils import get_column_letter

Это работает и для Python3.

Ответ 3

У меня такая же проблема, и я переустановил последнюю версию openpyxl, используя "setup.python setup.py". Затем он работает.

Ответ 4

tl; dr для Python3

  • pip3 install Cython
  • pip3 install pandas


Ни один из двух других решений от Abbas или Jael Woo не работал у меня на Python3.

Я закончил использование apt-get install python3-pandas, но затем pip3 install pandas не удалось, потому что он сказал, что мне нужен Cython, как он упоминает в Pandas установка docs, так или иначе, что это "необязательная зависимость".

При этом я запустил pip3 install Cython, а затем запустил pip3 install pandas, и он сработал.


Примечание: установка Cython и Pandas заняла некоторое время на Ubuntu (неуверенность в версии EC2 Ubuntu), но на Mac 10.11.5 она была намного быстрее

EDIT: использование apt-get для установки Pandas привело к ошибкам, поскольку apt-get установил более старую версию Pandas. Как только я установил/обновил Pandas с помощью pip3, ImportErrors исчез.

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