Guía completa para actualizar y editar datos en archivos JSON con Python

JSON (JavaScript Object Notation) es un formato de intercambio de datos ampliamente utilizado. Debido a su ligereza y legibilidad, se emplea en diversas situaciones, como en respuestas de API web y archivos de configuración. En este artículo, explicaremos en detalle cómo leer, actualizar y editar archivos JSON de manera eficiente utilizando Python, acompañando cada paso con ejemplos de código específicos. Así, incluso los principiantes en Python podrán manipular archivos JSON fácilmente.

Índice

¿Qué es un archivo JSON?

Un archivo JSON es un formato de intercambio de datos ligero y fácil de leer, abreviado de JavaScript Object Notation. Principalmente representa objetos compuestos por pares clave-valor o arreglos formados por listas de valores. JSON es independiente del lenguaje de programación y es compatible con muchos lenguajes, lo que lo convierte en una opción popular para el almacenamiento y la transferencia de datos.

Cómo leer archivos JSON en Python

En Python, se puede leer un archivo JSON fácilmente utilizando el módulo json de la biblioteca estándar. A continuación, se presentan los pasos básicos y un ejemplo de código.

Importación del módulo JSON

Primero, importa el módulo json. Este módulo está incluido en la biblioteca estándar, por lo que no es necesario realizar una instalación adicional.

import json

Leer un archivo JSON

A continuación, se lee el archivo JSON. En el siguiente ejemplo, se lee el archivo data.json y su contenido se obtiene como un objeto de tipo diccionario en Python.

with open('data.json', 'r') as file:  
    data = json.load(file)  
print(data)

En el código anterior, se utiliza la función open para abrir el archivo y la función json.load para leer los datos JSON. Los datos leídos se manejan como un diccionario en Python.

Cómo actualizar los datos de un archivo JSON

En Python, es sencillo actualizar los datos leídos de un archivo JSON. A continuación, se presentan los pasos específicos y un ejemplo de código.

Actualización de los datos JSON

Los datos leídos de un archivo JSON se manejan como un objeto de tipo diccionario en Python. Para actualizarlo, se realiza una operación típica de diccionario. Por ejemplo, para cambiar el valor de una clave específica, se hace de la siguiente manera.

# Actualizar datos existentes  
data['name'] = 'Nuevo Nombre'

Guardar los datos actualizados

Para guardar los datos actualizados en el archivo JSON original, utiliza la función json.dump. En el siguiente ejemplo, los datos actualizados se guardan sobrescribiendo el archivo data.json.

with open('data.json', 'w') as file:  
    json.dump(data, file, indent=4)

En el código anterior, se utiliza la función open para abrir el archivo y la función json.dump para escribir los datos actualizados. El parámetro indent permite establecer la indentación de los datos JSON guardados, mejorando su legibilidad.

Cómo agregar nuevos datos a un archivo JSON

En Python, también es fácil agregar nuevos datos a un archivo JSON existente. A continuación, se presentan los pasos específicos y un ejemplo de código.

Agregar nuevos datos

Los datos JSON se manejan como un objeto de tipo diccionario, por lo que para agregar un nuevo par clave-valor, basta con añadir una nueva entrada al diccionario. En el siguiente ejemplo, se añade una nueva clave age con su valor correspondiente.

# Agregar nuevos datos  
data['age'] = 30

Guardar los datos añadidos

Después de añadir los nuevos datos, guarda el contenido actualizado en el archivo JSON. El proceso de guardado es el mismo que en el caso de la actualización. En el siguiente ejemplo, se añaden los nuevos datos al archivo data.json y se guarda.

with open('data.json', 'w') as file:  
    json.dump(data, file, indent=4)

De esta manera, es posible añadir nuevos datos a un archivo JSON existente y guardarlos.

Cómo eliminar datos de un archivo JSON

En Python, puedes eliminar datos no deseados de un archivo JSON manipulando el objeto de tipo diccionario. A continuación, se presentan los pasos específicos y un ejemplo de código.

Eliminación de datos

Para eliminar una clave específica y su valor del objeto JSON, utiliza la instrucción del en el diccionario. En el siguiente ejemplo, se elimina la clave age.

# Eliminar una clave específica  
del data['age']

Guardar los datos eliminados

Después de eliminar los datos, guarda el contenido actualizado en el archivo JSON. El proceso de guardado es el mismo que en el caso de la actualización o adición. En el siguiente ejemplo, se guardan los datos después de eliminar el elemento en el archivo data.json.

with open('data.json', 'w') as file:  
    json.dump(data, file, indent=4)

De esta manera, puedes eliminar datos no deseados de un archivo JSON y guardarlos.

Guardado y codificación de archivos JSON

Al guardar datos JSON que se han actualizado o editado, es importante configurar la codificación adecuada. A continuación, se explica cómo guardar archivos JSON y la importancia de la codificación.

Guardar datos JSON

En Python, utiliza la función json.dump para guardar los datos JSON actualizados o editados en un archivo. Abre el archivo en modo de escritura y guarda los datos actualizados.

with open('data.json', 'w', encoding='utf-8') as file:  
    json.dump(data, file, indent=4, ensure_ascii=False)

Aquí, al especificar encoding='utf-8', el archivo se guarda con codificación UTF-8. Además, al utilizar ensure_ascii=False, los caracteres no ASCII se guardan tal cual, lo que permite guardar correctamente caracteres como el japonés.

Importancia de la codificación

La configuración de codificación es especialmente importante en aplicaciones que deben ser compatibles con diferentes idiomas. Utilizar la codificación UTF-8 permite soportar un amplio conjunto de caracteres y garantiza la compatibilidad de los datos.

Ejemplo avanzado: Manipulación de múltiples archivos JSON

Cuando se manipulan múltiples archivos JSON con Python, es necesario realizar una serie de operaciones, como la lectura de cada archivo, la integración de los datos, la actualización y el guardado. A continuación, se presentan los pasos específicos y un ejemplo de código.

Leer múltiples archivos

Primero, lee varios archivos JSON. En el siguiente ejemplo, se leen los archivos data1.json y data2.json y se obtienen los datos de cada uno.

import json  

# Leer los archivos  
with open('data1.json', 'r') as file1, open('data2.json', 'r') as file2:  
    data1 = json.load(file1)  
    data2 = json.load(file2)

Integración de datos

A continuación, se muestra cómo integrar los datos leídos. En el siguiente ejemplo, se combinan dos diccionarios.

# Integrar los datos  
merged_data = {**data1, **data2}

Si las claves del diccionario están duplicadas, se dará prioridad a los valores de data2.

Actualizar y guardar los datos integrados

Actualiza los datos integrados y guárdalos. En el siguiente ejemplo, se añade una nueva entrada a los datos integrados y se guardan en un archivo llamado merged_data.json.

# Actualizar los datos  
merged_data['new_key'] = 'Nuevo Valor'  

# Guardar los datos integrados  
with open('merged_data.json', 'w', encoding='utf-8') as file:  
    json.dump(merged_data, file, indent=4, ensure_ascii=False)

De esta manera, puedes manipular múltiples archivos JSON, integrar los datos y guardarlos.

Ejercicios prácticos

Aquí proporcionamos ejercicios para que los lectores adquieran habilidades en la manipulación de archivos JSON con Python. A través de estos ejercicios, podrás comprender de manera práctica los conceptos aprendidos.

Ejercicio 1: Leer un archivo JSON

Lee el archivo example.json que se muestra a continuación y muestra su contenido.

{  
    "name": "Alice",  
    "age": 25,  
    "city": "Tokyo"  
}

Ejercicio 2: Actualizar datos

Actualiza el valor de age a 30 en los datos leídos en el ejercicio 1 y muestra el contenido actualizado.

Ejercicio 3: Añadir nuevos datos

Añade una nueva clave email con el valor alice@example.com a los datos actualizados en el ejercicio 2 y muestra el contenido.

Ejercicio 4: Eliminar datos

Elimina la clave email añadida en el ejercicio 3 y muestra el contenido después de la eliminación.

Ejercicio 5: Integración de múltiples archivos

Lee los siguientes dos archivos JSON e intégralos, luego muestra los datos combinados.

// file1.json  
{  
    "name": "Alice",  
    "age": 25  
}  

// file2.json  
{  
    "city": "Tokyo",  
    "country": "Japan"  
}

Añade una nueva clave phone con el valor 123-456-7890 a los datos integrados y guarda los datos en un nuevo archivo llamado merged.json.

Con estos ejercicios, podrás adquirir una base sólida en la manipulación de archivos JSON con Python.

Conclusión

Hemos explicado en detalle cómo manipular archivos JSON en Python. Aprendiste la estructura básica de los archivos JSON, cómo leerlos, actualizar, añadir y eliminar datos, así como integrar múltiples archivos. Además, a través de ejercicios prácticos, pudiste adquirir habilidades útiles para manipular datos en diversos contextos, como en el procesamiento de datos o la integración con APIs. Aprovecha este conocimiento en tus futuros proyectos, utilizando las potentes bibliotecas de Python para una programación eficiente.

Índice