Trabajar con archivos JSON en Python
Trabajar con archivos JSON en Python es muy sencillo gracias a la librería estándar json. Esta librería nos proporciona herramientas para convertir datos de Python en formato JSON y viceversa.
¿Qué es JSON?
JSON (JavaScript Object Notation) es un formato de intercambio de datos ligero y de fácil lectura. Se basa en pares clave-valor y es ampliamente utilizado para transmitir datos entre un servidor y una aplicación web.
¿Cómo trabajar con JSON en Python?
1. Importar la librería:
import json
2. Leer un archivo JSON:
with open('data.json', 'r') as f:
data = json.load(f)
Esto cargará el contenido del archivo data.json en una variable Python, que generalmente será un diccionario o una lista.
3. Escribir en un archivo JSON:
data = {'nombre': 'Juan', 'edad': 30}
with open('nuevo_archivo.json', 'w') as f:
json.dump(data, f)
Esto creará un nuevo archivo llamado nuevo_archivo.json y escribirá el diccionario data en formato JSON.
Ejemplo completo:
import json
# Leer datos de un archivo JSON
with open('productos.json', 'r') as f:
productos = json.load(f)
# Acceder a los datos
for producto in productos:
print(f"Nombre: {producto['nombre']}, Precio: ${producto['precio']}")
# Agregar un nuevo producto
nuevo_producto = {'nombre': 'Naranja', 'precio': 1.2, 'cantidad': 15}
productos.append(nuevo_producto)
# Escribir los datos modificados
with open('productos_actualizado.json', 'w') as f:
json.dump(productos, f, indent=4)
Funciones útiles de la librería json:
- json.load(f): Carga un objeto JSON desde un archivo.
- json.dump(obj, f): Escribe un objeto Python en un archivo JSON.
- json.loads(s): Convierte una cadena JSON en un objeto Python.
- json.dumps(obj): Convierte un objeto Python en una cadena JSON.
Consideraciones importantes:
- Estructura de datos: La estructura de los datos en JSON se mapea a diccionarios y listas en Python.
- Indentación: El argumento
indentenjson.dumpse utiliza para formatear el JSON con sangría, lo que mejora la legibilidad. - Manejo de errores: Siempre es recomendable incluir un bloque
try-exceptpara manejar posibles excepciones, como archivos no encontrados o datos JSON inválidos.
Ejercicio:
Crea un archivo JSON que represente una lista de tus libros favoritos. Cada libro debe tener un título, autor y año de publicación. Luego, escribe un programa en Python que:
- Lea el archivo JSON.
- Calcule el número total de libros.
- Imprima una lista de todos los libros publicados después de un año específico (por ejemplo, 2010).
- Agregue un nuevo libro a la lista.
- Guarde los cambios en un nuevo archivo JSON.
Comentarios
Publicar un comentario