[PYTHON] Comment accéder avec cache lors de la lecture_json avec pandas

Objectif

Ne générez pas de communication à chaque fois que vous créez un DataFrame à partir d'une ressource Web avec read_json

Contexte

Je veux obtenir des informations en utilisant l'API Web et faire diverses choses, mais il y a une limite au nombre de demandes, et si j'y accède à chaque fois, je vais bientôt être pris dans la limite supérieure. Je n'ai pas besoin d'informations en temps réel lors de l'écriture du code de test, je souhaite donc le conserver localement dans le cache.

Bibliothèque

  1. pandas
  2. requests
  3. requests_cache
  4. StringIO

Exemple de code

import pandas as pd
import requests
import requests_cache
from io import StringIO

requests_cache.install_cache()
response = requests.get("https://financialmodelingprep.com/api/v3/income-statement/AAPL?apikey=demo")
content = response.content.decode()
df = pd.read_json(StringIO(content))

Commentaire

requests_cache S'il y a un cache lors de l'obtention avec request.get, la communication n'est pas effectuée et une réponse est renvoyée du cache. Vous pouvez changer le nom du cache avec requests_cache.install_cache (" test ") et gérer chacun d'eux. La mise en cache se fait avec sqlite. Vous pouvez supprimer le cache en supprimant le fichier. StringIO Puisque le nom de fichier et l'URL sont spécifiés dans pd.read_json, la str obtenue par les requêtes ne peut pas être spécifiée telle quelle. En utilisant StringIO (content), vous pouvez traiter str comme un fichier.

Recommended Posts

Comment accéder avec cache lors de la lecture_json avec pandas
Comment écrire sobrement avec des pandas
Comment créer une trame de données et jouer avec des éléments avec des pandas
Comment ne pas échapper au japonais en traitant avec JSON en Python
Comment utiliser BigQuery en Python
Comment réattribuer un index dans pandas dataframe
Comment lire des fichiers CSV avec Pandas
Comment gérer les fuites de mémoire dans matplotlib.pyplot
Comment gérer les erreurs en frappant pip ②
[REAPER] Comment jouer à Reascript avec Python
[Python] Comment lire des fichiers Excel avec des pandas
Comment gérer les erreurs d'exécution dans subprocess.call
Comment utiliser tkinter avec python dans pyenv
Comment utiliser Pandas 2
Convertir 202003 en 2020-03 avec les pandas
Comment afficher dans toute la fenêtre lors de la définition de l'image d'arrière-plan avec tkinter
Comment convertir / restaurer une chaîne avec [] en python
Comment "mettre en cache" l'accès à la mémoire FPGA à partir de Linux
Comment faire un calcul de hachage avec Salt en Python
Expliquez en détail comment créer un son avec python
Comment convertir des données détenues horizontalement en données détenues verticalement avec des pandas
Comment gérer l'échec de l'initialisation pyenv dans Fish 3.1.0
Comment faire du zéro-padding sur une ligne avec OpenCV
Comment exécuter des tests avec Python unittest
Comment extraire des valeurs Null et des valeurs non Null avec des pandas
Comment extraire des données qui ne manquent pas de valeur nan avec des pandas
Comment générer un CSV d'en-tête multiligne avec des pandas
Comment convertir un fichier JSON en fichier CSV avec Python Pandas
[Python] Comment gérer l'erreur de lecture pandas read_html
Comment quitter lors de l'utilisation de Python dans Terminal (Mac)
J'ai essayé de résumer comment utiliser les pandas de python
Convertissez les variables numériques en variables catégorielles avec les pandas en définissant un seuil
Comment gérer l'exécution de la transaction: échec dans Anaconda
Comment extraire des données qui ne manquent pas de valeur nan avec des pandas
Comment traiter l'erreur "Erreur de type: Aucune signature correspondante trouvée" lors de l'utilisation de pandas fillna
Comment mettre à jour avec SQLAlchemy?
Comment utiliser Pandas Rolling
Comment lancer avec Theano
Comment modifier avec SQLAlchemy?
Comment séparer les chaînes avec ','
Comment faire RDP sur Fedora31
Comment développer en Python
Comment supprimer avec SQLAlchemy?
[TensorFlow 2 / Keras] Comment exécuter l'apprentissage avec CTC Loss dans Keras
Gestion des fichiers statiques lors du déploiement en production avec Django
Comment sortir un document au format pdf avec Sphinx
Comment extraire n'importe quel rendez-vous dans Google Agenda avec Python
Comment ne pas charger d'images lors de l'utilisation de PhantomJS avec Selenium
Ingéniosité pour gérer les données avec Pandas de manière à économiser la mémoire
[Django] Comment donner des valeurs d'entrée à l'avance avec ModelForm
Comment manipuler le DOM dans iframe avec Selenium
Comment résoudre la protection CSRF lors de l'utilisation d'AngularJS avec Django
Comment spécifier des arguments de ligne de commande lors du débogage avec PyCharm
[AWS] Comment gérer l'erreur "Point de code non valide" dans CloudSearch
Pour les débutants, comment gérer les erreurs courantes dans les keras
Précautions lors de l'utilisation de Python avec AtCoder
Précautions lors du changement d'heure Unix en type datetime dans les pandas
Choses à garder à l'esprit lors de l'utilisation de cgi avec python.