Extrayendo datos de un archivo JSON en Python [duplicado]

Nov 08 2020

¡Hola a todos! Necesito obtener todos los nombres en "streamers", pero realmente no sé cómo puedo hacer esto. Quizás podrías ayudarme.

¡Gracias!

Archivo JSON:

    "streamers": [
        {},
        {
            "name": "One\n\n"
        },
        {
            "name": "Two\n\n"
        },
        {
            "name": "Three\n\n"
        }
    ]
}

Respuestas

jojo_Berlin Nov 08 2020 at 01:51

bien, básicamente lo que puedes hacer:

import json

names=[]
with open('data.txt') as json_file:
  dict=json.load(json_file)["streamers"]
  for tuple in dict:
    if "name" in tuple:
      names.append(tuple["name"]
print(names)
 

MelvinAbraham Nov 08 2020 at 01:49

Puede utilizar el loadmétodo del jsonmódulo. Esta función acepta un controlador de archivos, en particular un archivo JSON, luego lo convierte en un objeto de diccionario de Python que puede usar de inmediato en su código.

Puede consultar el siguiente fragmento:

import json

f = open('path/to/file/file.json')      # Open the JSON file
dictionary = json.load(f)               # Parse the JSON file
f.close()                               # Close the JSON file

streamers = dictionary['streamers']
print(streamers)

Salida


[
    {},
    {
        "name": "One\n\n"
    },
    {
        "name": "Two\n\n"
    },
    {
        "name": "Three\n\n"
    }
]
Gabip Nov 08 2020 at 02:00

Tratar:

import json

with open('path/to/file.json') as f:
    names = [x.get("name") for x in json.load(f)["streamers"] if x.get("name")]
    print(names)