Saltearse al contenido

Lectura y escritura de archivos json

Los archivos JSON (JavaScript Object Notation) se utilizan para almacenar y transportar datos estructurados. A diferencia de los TXT o CSV, pueden representar objetos, listas anidadas y jerarquías más complejas. Python ofrece el módulo json para su manejo.

Tenemos la siguiente estructura de nuestro proyecto:

  • Directorysrc
    • leer_json.py
    • escribir_json.py
    • rescribir_json.py
  • Directorydocs
    • products.json

Abre el archivo products.json en modo lectura (“r”), carga su contenido como una lista de diccionarios y luego imprime el nombre y precio de cada producto.

leer_csv.py
import json
with open('./document/products.json', mode='r') as file:
    products = json.load(file)
    for product in products:
        print(f'El producto {product['name']} con precio de {product['price']}')

Carga los productos desde el archivo, añade un nuevo producto al final de la lista y guarda todo nuevamente, sobrescribiendo el archivo original.

leer_csv.py
import json
# Nuevo producto a agregar
new_product = {'name': 'Teclado', 'price': 19.99}
# Leer productos actuales
with open('./document/products.json', 'r') as file:
products = json.load(file)
# Agregar el nuevo producto
products.append(new_product)
# Guardar la lista actualizada
with open('./document/products.json', 'w') as file:
json.dump(products, file, indent=2)

Sobrescribe por completo el archivo products.json con una nueva lista de productos. Usa el modo “w” para reemplazar todo el contenido anterior.

leer_csv.py
import json
# Lista nueva de productos
products = [
{'name': 'Mouse', 'price': 9.99},
{'name': 'Monitor', 'price': 129.99}
]
# Guardar nueva lista en el archivo
with open('./document/products.json', 'w') as file:
json.dump(products, file, indent=2)