Saltar al contenido

¿Cómo actualizar un archivo JSON usando Python?

Luego de mucho batallar pudimos encontrar la contestación de esta contrariedad que muchos lectores de este espacio han tenido. Si tienes algún detalle que aportar puedes compartir tu conocimiento.

Solución:

No guardó los datos modificados en absoluto. Primero debe cargar, luego modificar y solo luego guardar. No es posible modificar los archivos JSON en el lugar.

with open('my_file.json', 'r') as f:
    json_data = json.load(f)
    json_data['b'] = "9"

with open('my_file.json', 'w') as f:
    f.write(json.dumps(json_data))

También puede hacer esto:

with open('my_file.json', 'r+') as f:
    json_data = json.load(f)
    json_data['b'] = "9"
    f.seek(0)
    f.write(json.dumps(json_data))
    f.truncate()

Si desea que sea seguro, primero escriba los nuevos datos en un archivo temporal en la misma carpeta y luego cambie el nombre del archivo temporal al archivo original. De esa manera, no perderá ningún dato, incluso si sucede algo en el medio.

Si piensa en eso, los datos JSON son muy difíciles de cambiar en el lugar, ya que la longitud de los datos no es fija y los cambios pueden ser bastante significativos.

Ya casi llegas, solo tienes que escribir el actualizado json_data volver al archivo. Deshacerse de f.close()como el with declaración se asegurará de que el archivo está cerrado. Entonces, emite

with open('my_file.json', 'w') as f:
    f.write(json.dumps(json_data))

Aquí tienes las comentarios y valoraciones

Recuerda que puedes mostrar esta crónica si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *