Spaces:
Sleeping
Sleeping
import requests | |
import gradio | |
import json | |
import pandas | |
def obtener_astronautas(): | |
respuesta = requests.get("http://api.open-notify.org/astros.json") | |
info = respuesta.json() | |
print(str(info)) | |
astronautas = [] | |
naves = [] | |
for astronauta in info["people"]: | |
# cada astronauta es un diccionario | |
print(astronauta) | |
astronautas.append(astronauta["name"]) | |
naves.append(astronauta["craft"]) | |
print(str(info)) | |
datos = {"Nombre":astronautas,"Nave":naves} | |
return pandas.DataFrame(datos) | |
# Explicación | |
# Recibimos esto: | |
#{'message': 'success', | |
#'people': [{'name': 'Cai Xuzhe', 'craft': 'Tiangong'}, {'name': 'Chen Dong', 'craft': 'Tiangong'}, {'name': 'Liu Yang', 'craft': 'Tiangong'}, {'name': 'Sergey Prokopyev', 'craft': 'ISS'}, {'name': 'Dmitry Petelin', 'craft': 'ISS'}, {'name': 'Frank Rubio', 'craft': 'ISS'}, {'name': 'Nicole Mann', 'craft': 'ISS'}, {'name': 'Josh Cassada', 'craft': 'ISS'}, {'name': 'Koichi Wakata', 'craft': 'ISS'}, {'name': 'Anna Kikina', 'craft': 'ISS'}], | |
#'number': 10} | |
# Para sacar un dataframe de aquí queremos que estén formateados de la siguiente forma: | |
# datos = {'titulo_nombre': [lista de los nombres], 'titulo_nave': [lista de las naves]} | |
# Para ello recorremos todos los astronautas con el for y vamos creando las dos listas. Al final las metemoe en el diccionario y | |
# creamos el dataframe con los títulos de las columnas. | |
entrada = None | |
salida = gradio.Dataframe(label="Astronautas, cosmonautas y taikonautas") | |
demo = gradio.Interface( | |
fn=obtener_astronautas, | |
inputs=entrada, | |
outputs=salida, | |
allow_flagging=False, | |
title="Información espacial", | |
description="Pulsa el botón Generar para ver los nombres de quienes están actualmente viviendo en el espacio..." | |
) | |
demo.launch() |