Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Procesamiento de texto con Python, Unidad 9 — Procesamiento de texto estructurado, 9.1 — CSV, JSON y XML con texto ·

Extracción de campos textuales

Extracción de campos textuales desde CSV, JSON y XML con texto

Introducción

En el campo del procesamiento de texto, la extracción de campos textuales es una tarea fundamental que permite convertir datos estructurados en información útil. Los archivos CSV (Comma-Separated Values), JSON (JavaScript Object Notation) y XML (Extensible Markup Language) son formatos comunes para almacenar datos tabulares y jerárquicos, respectivamente. Aprender a extraer texto de estos formatos es crucial para cualquier proyecto que involucre el análisis de grandes volúmenes de datos.

Explicación principal

CSV (Comma-Separated Values)

Los archivos CSV son una forma simple e intercambiable de almacenar datos tabulares. Cada fila representa un registro, y las columnas se separan por comas o otros delimitadores.

Ejemplo:

Supongamos que tenemos el siguiente archivo CSV:

Nombre,Año,Número_de_orden
Juan,2023,123456789
María,2023,987654321

Podemos extraer los campos textuales usando Python con la librería pandas:

import pandas as pd

# Cargar el CSV en un DataFrame de pandas
df = pd.read_csv('ruta/a/tu/archivo.csv')

# Extraer campos específicos
nombre = df['Nombre'].tolist()
numero_de_orden = df['Número_de_orden'].tolist()

print("Nombres:", nombre)
print("Números de orden:", numero_de_orden)

JSON (JavaScript Object Notation)

Los archivos JSON son usados para almacenar y transferir datos en formato texto. Cada archivo es una representación de objetos o listas.

Ejemplo:

Un ejemplo simple:

{
  "nombre": "Juan",
  "año": 2023,
  "numero_de_orden": "123456789"
}

Podemos extraer los campos textuales usando la librería json de Python:

import json

# Cargar el JSON desde un archivo o una cadena
with open('ruta/a/tu/archivo.json', 'r') as file:
    data = json.load(file)

nombre = data['nombre']
numero_de_orden = data['numero_de_orden']

print("Nombre:", nombre)
print("Número de orden:", numero_de_orden)

XML (Extensible Markup Language)

Los archivos XML son usados para almacenar y transferir datos, con un esquema que define cómo los datos se deben estructurar. Cada elemento puede contener atributos y subelementos.

Ejemplo:

Un ejemplo simple:

<registro>
  <nombre>Juan</nombre>
  <año>2023</año>
  <numero_de_orden>123456789</numero_de_orden>
</registro>

Podemos extraer los campos textuales usando la librería xml.etree.ElementTree de Python:

import xml.etree.ElementTree as ET

# Cargar el XML desde un archivo o una cadena
tree = ET.parse('ruta/a/tu/archivo.xml')
root = tree.getroot()

nombre = root.find('nombre').text
numero_de_orden = root.find('numero_de_orden').text

print("Nombre:", nombre)
print("Número de orden:", numero_de_orden)

Errores típicos / trampas

  1. Delimitadores incorrectos: Asegúrate de usar el delimitador correcto para CSV y JSON (coma, punto y coma o tabulación). En XML, asegúrate de que la estructura es válida.
  1. Formatos no estándar: Algunos archivos pueden no seguir el formato exacto esperado. Verifica primero el contenido antes de escribir código.
  1. Tipos incorrectos: Asegúrate de convertir los tipos de datos correctamente (por ejemplo, año como int, numero_de_orden como str).

Checklist accionable

  1. Verifica la estructura del archivo antes de comenzar a codificar.
  2. Usa el delimitador correcto para CSV y JSON.
  3. Asegúrate de que los archivos están bien formados (no faltantes, cierres incorrectos) en XML.
  4. Convierte correctamente los tipos de datos según sea necesario.
  5. Testea tu código con diferentes ejemplos para asegurar su robustez.

Siguientes pasos

  • Explicación principal: Conocer cómo extraer campos textuales desde CSV, JSON y XML es solo el comienzo. Asegúrate de seguir las buenas prácticas al manejar estos formatos.
  • Errores típicos / trampas: Establecer conciencia sobre los errores comunes puede ahorrar tiempo y frustración a largo plazo.
  • Checklist accionable: Utiliza este checklist para asegurarte de no omitir ningún paso en tu proceso de extracción.

Aprender a extraer campos textuales desde CSV, JSON y XML es una habilidad valiosa que te permitirá manipular datos de manera efectiva. Siguiendo estos pasos y evitando las trampas comunes, podrás obtener el mejor rendimiento en tus proyectos de procesamiento de texto.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).