ImportError: cannot import name get_column_letter

♀尐吖头ヾ 提交于 2019-12-02 19:03:32

The function get_column_letter has been relocated in Openpyxl version 2.4 from openpyxl.cell to openpyxl.utils.

The current import is: from openpyxl.utils import get_column_letter

If you want to do not know which version the end-user has, you can use the following code:

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

from openpyxl.utils import get_column_letter

This is working for Python3 also.

I got the same problem and I reinstall the latest openpyxl using "python setup.py install". Then it works.

shyed2001
print(openpyxl.cell.get_column_letter(1)) # does not work …

You would rather use

print(openpyxl.utils.get_column_letter(1))

tl;dr for Python3

  • pip3 install Cython
  • pip3 install pandas


Neither of the other two solutions from Abbas or Jael Woo worked for me for Python3.

I ended up using apt-get install python3-pandas, but then pip3 install pandas failed because it said I needed Cython, as it does mention in the Pandas installation docs that it is an "optional dependency" anyways.

That being said, I ran pip3 install Cython and then ran pip3 install pandas, and it worked.


Note: Cython and Pandas installation took a while on Ubuntu (unsure of EC2's Ubuntu version) but seemed to be much quicker on Mac 10.11.5

EDIT: using apt-get to install Pandas yielded errors because apt-get installed an older version of Pandas. Once I installed/upgraded Pandas using pip3, the ImportErrors were gone.

Edit: if you care enough to downvote, try adding some constructive criticism to this answer in the form of a comment

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!