7.2 Manipulación de formatos de datos (JSON, XML, CSV): Cómo manipular diferentes formatos de datos en Python

Python cuenta con varias librerías muy útiles para la manipulación de diferentes formatos de datos, como JSON, XML o CSV. En este punto del curso, vamos a profundizar en cómo utilizar estas librerías para procesar y manipular dichos formatos de datos.

Manipulación de JSON en Python

Vamos a empezar hablando de JSON, un formato de datos muy utilizado en la web, ya que es fácilmente legible por humanos y fácilmente interpretable por las máquinas. JSON es un conjunto de pares clave-valor, similar a un diccionario de Python, pero con una sintaxis específica.

Para manipular JSON en Python, utilizamos la librería . Veamos un ejemplo de cómo leer un archivo JSON:


import json

with open('archivo.json', 'r') as f:
    data = json.load(f)
    

Lo que hemos hecho aquí es abrir un archivo llamado utilizando la función de Python, en modo lectura (). A continuación, utilizamos la función para cargar el contenido del archivo en una variable llamada . Ahora podemos acceder a los elementos del archivo utilizando la sintaxis de diccionario de Python:


for elemento in data:
    print(elemento['nombre'])

En este ejemplo estamos recorriendo todos los elementos del archivo JSON y accediendo a la clave . Podríamos modificar o agregar elementos al archivo utilizando la sintaxis de diccionario de Python y luego guardar los cambios utilizando la función :


data.append({'nombre': 'Nuevo elemento', 'valor': 123})
with open('archivo.json', 'w') as f:
    json.dump(data, f)

Este ejemplo añade un nuevo elemento al archivo JSON y lo guarda de vuelta en disco utilizando la función .

Manipulación de XML en Python

XML es otro formato de datos muy utilizado en la web. A diferencia de JSON, XML es mucho más verboso, lo que puede dificultar su lectura e interpretación. Para manipular XML en Python, utilizamos la librería .

Veamos un ejemplo de cómo leer un archivo XML:


import xml.etree.ElementTree as ET

tree = ET.parse('archivo.xml')
root = tree.getroot()

for elemento in root:
    print(elemento.tag, elemento.attrib)

En este ejemplo, estamos abriendo el archivo XML utilizando la función , la cual devuelve un objeto . A continuación, accedemos al elemento raíz del archivo utilizando la función . Una vez que tenemos el elemento raíz, podemos acceder a sus hijos mediante un bucle y utilizar la sintaxis de diccionario de Python para acceder a sus atributos.

Si quisiéramos agregar o modificar elementos XML, lo haríamos utilizando la sintaxis de la librería :


nuevo_elemento = ET.Element('nuevo_elemento')
nuevo_elemento.text = 'Contenido del nuevo elemento'

root.append(nuevo_elemento)
tree.write('archivo.xml')

En este ejemplo, estamos creando un nuevo elemento utilizando la función , añadiéndolo al elemento raíz mediante la función y luego guardando los cambios en disco utilizando la función .

Manipulación de CSV en Python

CSV (Comma-Separated Values) es otro formato de datos muy común utilizado en la manipulación de datos tabulares. En Python, podemos manipular CSV utilizando la librería .

Veamos un ejemplo de cómo leer un archivo CSV:


import csv

with open('archivo.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

En este ejemplo, abrimos el archivo CSV utilizando la función de Python y luego utilizamos la función para crear un objeto que nos permitirá recorrer el archivo fila por fila. A continuación, utilizamos un bucle para recorrer todas las filas del archivo y mostrar su contenido.

Si quisiéramos modificar o agregar filas a un archivo CSV, lo haríamos utilizando un objeto :


with open('archivo.csv', 'a') as f:
    fieldnames = ['nombre', 'edad']
    writer = csv.DictWriter(f, fieldnames=fieldnames)
    
    writer.writeheader()
    writer.writerow({'nombre': 'Juan', 'edad': 25})

En este ejemplo, estamos abriendo el archivo CSV en modo () para poder añadir filas al final del archivo. A continuación, definimos los nombres de las columnas utilizando la variable , y luego creamos un objeto utilizando la función . Finalmente, escribimos una fila en el archivo utilizando la función . También hemos utilizado la función para escribir una fila con los nombres de las columnas.

Conclusión

En resumen, Python cuenta con librerías muy útiles para la manipulación de diferentes formatos de datos, como JSON, XML o CSV. La librería nos permite leer y escribir archivos JSON utilizando una sintaxis similar a la de los diccionarios de Python, mientras que nos permite leer y modificar archivos XML de una manera relativamente sencilla. Por último, la librería nos permite manipular archivos CSV de forma fácil y rápida.

AnteriorSiguiente

[mwai_chat]

Deja una respuesta

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