首页 > 解决方案 > 如何从 pandas.io.common 导入名称?

问题描述

以下代码有一些问题:

import requests_cache
import datetime
import pandas as pd
from datetime import timedelta

import pandas as pd
from pandas.io.common import ZipFile 
from pandas.compat import BytesIO, StringIO, PY2

我收到以下错误:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-11-38562bc3a3ef> in <module>
      5 
      6 import pandas as pd
----> 7 from pandas.io.common import ZipFile
      8 from pandas.compat import BytesIO, StringIO, PY2
      9 

ImportError: cannot import name 'ZipFile' from 'pandas.io.common' (//anaconda3/lib/python3.7/site-packages/pandas/io/common.py)


它可以工作,但现在不行了。我安装了 anaconda、pandas 等。我不知道该怎么办?

标签: pythonpandasanaconda

解决方案


我猜你升级了熊猫。

ZipFile源自标准库zipfile,Pandas 之前在 v 0.20 之前使用包装器有条件地公开它。在最近的版本中,您可以使用他们重命名的包装版本pandas.io.common.BytesZipFile或使用 vanilla zipfile.ZipFile

我只是要关闭代码历史记录。公共 API 和发行说明都没有提到这一点,因此您可能应该将其视为内部代码,没有跨版本的一致性保证。


推荐阅读