web-dev-qa-db-fra.com

Comment corriger "ImportError: impossible d'importer le nom 'StringIO'"

la version python est 3.6.6 et la version pandas_datareader est 0.7.0

lorsque j'importe pandas_datareader, une erreur se produit comme ci-dessous.

C:\PycharmProjects\Demo\venv\Scripts\python.exe C:/PycharmProjects/Demo/stock.py
Traceback (most recent call last):
  File "C:/PycharmProjects/Demo/stock.py", line 3, in <module>
    import pandas_datareader as wb
  File "C:\PycharmProjects\Demo\venv\lib\site-packages\pandas_datareader\__init__.py", line 2, in <module>
    from .data import (DataReader, Options, get_components_yahoo,
  File "C:\PycharmProjects\Demo\venv\lib\site-packages\pandas_datareader\data.py", line 7, in <module>
    from pandas_datareader.av.forex import AVForexReader
  File "C:\PycharmProjects\Demo\venv\lib\site-packages\pandas_datareader\av\__init__.py", line 3, in <module>
    from pandas_datareader.base import _BaseReader
  File "C:\PycharmProjects\Demo\venv\lib\site-packages\pandas_datareader\base.py", line 11, in <module>
    from pandas.compat import StringIO, bytes_to_str
ImportError: cannot import name 'StringIO'

quelqu'un peut-il m'aider?

8
김장환

Le problème est pandas 0.25.0 a supprimé pandas.compat. Revenez donc à 0.24.2

pip install "pandas<0.25.0"

ou

pipenv install "pandas<0.25.0"
5
Ric Pruss

J'ai rencontré le même problème avec Python3.6 et Python3.7

Rétrogradé, et cela fonctionne bien sur Python2.7 En outre, a vu un commentaire ci-dessus que Python3.5 fonctionne.

0
Mirror Mirage