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 исчез.
Изменить: если вы будете достаточно осторожны, чтобы понизить, попробуйте добавить конструктивную критику к этому ответу в виде комментария