es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

IMPORTJSON a Google Sheets con un guion bajo (_) en el nombre de la columna

Estoy tratando de utilizar IMPORTJSON para importar algunos datos de:

https://templeosrs.com/api/player_stats.php?player=Mikael&date=1639587712

a mi hoja de cálculo de Google. Para algunas columnas, como “Ehp”, puedo obtener el valor sin problemas con:

=VALUE(QUERY(TRANSPOSE(IMPORTJSON(C5)), “select Col2 where Col1 = ‘Ehp'”))

donde C5 es simplemente una celda con el enlace mencionado arriba. Pero esto no parece funcionar para ninguna columna que tenga un guion bajo, como “Ehp_rank”.

Debo decir que no entiendo nada acerca de cómo funciona esto, estoy haciendo todo mirando ejemplos que encontré, luego simplemente a través de ensayo y error. ¿Alguien puede ayudarme a importar columnas con un guion bajo?

Además, me gustaría importar el “Username”, pero está dentro de ese bloque de información y no puedo hacerlo correctamente. He intentado con “info.Username”, cambiando Col2/1 por Col3/2, pero sin éxito.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para importar columnas con un guion bajo en ellos usando IMPORTJSON en Google Sheets, debes modificar la función QUERY para usar comillas invertidas en lugar de comillas simples. Por ejemplo, en lugar de:

    =VALUE(QUERY(TRANSPOSE(IMPORTJSON(C5)), "select Col2 where Col1 = 'Ehp_rank'"))

    Utiliza:

    =VALUE(QUERY(TRANSPOSE(IMPORTJSON(C5)), "select Col2 where Col1 =Ehp_rank"))

    Este cambio permitirá que la función QUERY interprete correctamente los nombres de columna con guiones bajos.

    Para importar el “Nombre de usuario” del bloque “info”, puedes modificar la fórmula IMPORTJSON para incluir la ruta a los datos del “Nombre de usuario”. Suponiendo que la respuesta JSON se vea así:

    {
       "status": "success",
       "info": {
          "Username": "Mikael",
          "Level": "126",
          "Rank": "1",
          "XP": "25760445"
       },
       "skill_data": [
          {
             "name": "Attack",
             "rank": "77",
             "level": "90",
             "xp": "4367223"
          },
          ...
       ]
    }
    

    Puedes utilizar la siguiente fórmula para importar el “Nombre de usuario”:

    =IMPORTJSON(C5, "/info/Username")

    Esta fórmula especifica la ruta a los datos del “Nombre de usuario” utilizando la sintaxis de JSONPath. La parte “/info” especifica el bloque “info” en la respuesta JSON, y “/Username” especifica el campo “Nombre de usuario” dentro del bloque “info”.

    Utilizando estos ajustes en las fórmulas deberías poder importar los datos deseados desde la API a tu hoja de cálculo de Google.

Comments are closed.