我可以在我的代码中使用openpyxl作为导入。但是,当我尝试执行以下操作时:
from openpyxl.cell import get_column_letter
我收到以下错误:
ImportError: cannot import name get_column_letter
我正在使用python 2.7。我使用easy_install
安装了它。尝试搜索此问题,但无法找到与之相关的任何内容。
答案 0 :(得分:39)
功能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
答案 1 :(得分:1)
from openpyxl.utils import get_column_letter
这也适用于 Python3 。
答案 2 :(得分:0)
我遇到了同样的问题,我使用“python setup.py install”重新安装the latest openpyxl。然后就行了。
答案 3 :(得分:0)
使用Python 3.8:
使用导入库后
from openpyxl.utils import get_column_letter
可以通过以下方法获取字母数字列值:
print(get_column_letter(26))
或
column_variable = get_column_letter(26)
很抱歉,如果这过于简单,我花了一段时间才意识到从列索引号到列字母的转换独立于可能打开的任何工作表,因此,无需在工作表中使用dot.method或单个细胞。
答案 4 :(得分:-1)
print(openpyxl.cell.get_column_letter(1)) # does not work …
您宁愿使用
print(openpyxl.utils.get_column_letter(1))
答案 5 :(得分:-2)
tl; Python3博士
pip3 install Cython
pip3 install pandas
Abbas或Jael Woo的其他两个解决方案都没有为Python3工作。
我最终使用了apt-get install python3-pandas
,但后来pip3 install pandas
失败了,因为它说我需要Cython,正如它在Pandas installation docs中提到的那样,无论如何它都是“可选的依赖”。 / p>
话虽这么说,我运行pip3 install Cython
然后运行pip3 install pandas
,它运作良好。
注意:在Ubuntu上安装Cython和Pandas需要一段时间(不确定EC2的Ubuntu版本)但在Mac 10.11.5上似乎要快得多
编辑:使用apt-get安装Pandas会产生错误,因为apt-get安装了旧版本的Pandas。使用pip3安装/升级Pandas后, ImportErrors 就不见了。
编辑:如果你足够关注downvote,请尝试以评论的形式为这个答案添加一些建设性的批评