<py-script>
import requests
import pandas as pd
import json
# Fonction pour fetcher les données d'un indicateur pour tous les pays (dernière valeur disponible)
def fetch_indicator_data(indicator_code):
base_url = f"https://api.worldbank.org/v2/country/all/indicator/{indicator_code}"
params = {
'format': 'json',
'mrv': 1, # Most recent value
'per_page': 500 # Pour obtenir tous les pays en une seule page
}
response = requests.get(base_url, params=params)
if response.status_code == 200:
data = response.json()
if len(data) > 1:
return data[1] # Les données sont dans l'index 1 du JSON
return []
# Indicateurs économiques clés
indicators = {
'GDP': 'NY.GDP.MKTP.CD', # GDP in current US dollars
'Inflation': 'FP.CPI.TOTL.ZG', # Inflation, consumer prices (annual %)
'Unemployment': 'SL.UEM.TOTL.ZS' # Unemployment, total (% of total labor force)
}
# Récupérer les données pour chaque indicateur
data_dict = {}
for name, code in indicators.items():
print(f"Récupération des données pour {name}...")
raw_data = fetch_indicator_data(code)
for entry in raw_data:
country_id = entry['country']['id']
country_name = entry['country']['value']
year = entry['date']
value = entry['value']
if country_id not in data_dict:
data_dict[country_id] = {'Country': country_name}
data_dict[country_id][f"{name} ({year})"] = value
# Convertir en DataFrame pour une présentation tabulaire
df = pd.DataFrame.from_dict(data_dict, orient='index')
df = df.sort_values(by='Country')
# Afficher les résultats (ou sauvegarder en CSV)
print(df.to_string())
# Optionnel: Sauvegarder en fichier CSV
df.to_csv('economic_data_by_country.csv', index=False)
print("\nDonnées sauvegardées dans 'economic_data_by_country.csv'")
<py-script>