Je suis en train de regarder ce tutoriel dans lequel j'essaie d'utiliser iexfinance pour obtenir des données boursières. Vous avez la possibilité de choisir le type de données lors de la demande de données, j'ai choisi "pandas". Lorsque j'exécute la fonction intégrée, j'obtiens une erreur qui lit AttributeError: le module 'pandas.compat' n'a pas d'attribut 'string_types'
J'utilise python 3.7. J'ai désinstallé et réinstallé à la fois iexfinance et pandas. J'ai également créé un compte cloud IEX et passé une clé secrète comme les états de la documentation, mais la même erreur. Le didacticiel ne mentionne aucune de ces étapes et il est difficile de comprendre pourquoi ses œuvres et les miennes ne le sont pas.
J'ai essayé de simplifier le code en suivant des exemples sur le site Web: Même en cours d'exécution:
Traceback (most recent call last):
File "app.py", line 18, in <module>
df = Stock("AAPL", output_format="pandas")
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/iexfinance/stocks/base.py", line 45, in __init__
self.symbols = list(map(lambda x: x.upper(), _handle_lists(symbols)))
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/iexfinance/utils/__init__.py", line 43, in _handle_lists
if isinstance(l, (compat.string_types, int)):
AttributeError: module 'pandas.compat' has no attribute 'string_types'
L'erreur persiste
Le résultat attendu est:
AAPL avgTotalVolume 30578248 calculationPrice close change -0.58 changePercent -0.00298 close 207.27
Le résultat que je reçois est:
from iexfinance.stocks import Stock
df = Stock("AAPL", output_format="pandas")
print(df.get_quote().head())
3 Réponses :
Vous pouvez essayer de revenir à la version 0.24.2 de pandas pour contourner le problème:
pip install pandas == 0.24.2
À ce stade, je ne suis toujours pas sûr qu'il y ait un bug dans les pandas ou autre chose.
EDIT: Iexfinance utilise probablement des composants internes dans Pandas, et pandas a subi un changement majeur en supprimant python 2 et tout le code de compatibilité.
Ceci est également déjà sur leur outil de suivi des problèmes: https://github.com/addisonlynch/iexfinance/issues/163 p >
Wow, cela semblait fonctionner. Merci beaucoup pour le conseil!
La méthode sur: pip installer pandas == 0.24.2 a raison ~ essayez ceci.
À ce jour, le 2 octobre 2019 , il suffit de mettre à jour iexfinance avec la dernière version (0.4.3) et le problème est résolu.
Faites ceci:
pip install iexfinance --upgrade