我一直试图将熊猫导入到我的python文件中,但是每次我运行它时,都会出现以下错误:
Traceback (most recent call last):
File "C:\Python36\lib\site-packages\pandas\compat\__init__.py", line 49, in <module>
import __builtin__ as builtins
ModuleNotFoundError: No module named '__builtin__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "email.py", line 1, in <module>
import pandas as pd
File "C:\Python36\lib\site-packages\pandas\__init__.py", line 23, in <module>
from pandas.compat.numpy import *
File "C:\Python36\lib\site-packages\pandas\compat\__init__.py", line 62, in <module>
import http.client as httplib
File "C:\Python36\lib\http\client.py", line 71, in <module>
import email.parser
File "C:\Users\xx\Desktop\Projects\email_sender\email.py", line 3, in <module>
df = pd.read_excel("emails.xlsx", 'Sheet1', index_col=None, na_values=['NA'])
AttributeError: module 'pandas' has no attribute 'read_excel'
这是/pandas/__init__.py
文件中的导入代码块的外观:
try:
import __builtin__ as builtins
# not writeable when instantiated with string, doesn't handle unicode well
from cStringIO import StringIO as cStringIO
# always writeable
from StringIO import StringIO
BytesIO = StringIO
import cPickle
import httplib
except ImportError:
import builtins
from io import StringIO, BytesIO
cStringIO = StringIO
import pickle as cPickle
import http.client as httplib
我发现在python3中将__builtin__
重命名为builtins
之后,修复了该行并尝试导入后,我也从StringIO
导入中得到了错误,因为该错误已删除来自python3,并使用不同的语法来调用该模块。
我的系统仅安装了python3。我也已经升级了所有的熊猫依赖项,可以正常导入它们。 我还卸载了熊猫,然后再次重新安装,但同样的事情也会发生。
熊猫版本为0.23.1 Python版本是3.6.5
我不知道为什么最新版本的pandas在其导入中使用已弃用或删除的模块。