I am able to use openpyxl as an import in my code. But when I try to do the following:
from openpyxl.cell import get_column_letter
I get the following error:
ImportError: cannot import name get_column_letter
I am using python 2.7. I have installed it using easy_install
. Tried searching for this issue but couldn't find anything related to it.
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.
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
来源:https://stackoverflow.com/questions/36721232/importerror-cannot-import-name-get-column-letter