Formatos principales para almacenar datos en Python
Trabajar con archivos Excel y CSV es una habilidad fundamental para desarrolladores Python, especialmente en áreas como análisis de datos, automatización de informes y desarrollo backend. Escribir datos correctamente en archivos permite almacenar, transferir y procesar información de manera eficiente entre diferentes sistemas.
En esta guía exploramos las principales formas de guardar datos en formatos populares utilizando bibliotecas estándar y de terceros en Python. Aprenderás ejemplos prácticos con archivos CSV y Excel, así como técnicas de formato y estructuración de datos.
Formato CSV: características y usos
¿Qué es el formato CSV?
CSV (Comma-Separated Values) es un formato de texto simple para almacenar datos tabulares. En este formato, los valores se separan por comas u otros caracteres delimitadores, como punto y coma o tabulaciones. El formato CSV se usa ampliamente para intercambiar datos entre distintas aplicaciones y sistemas.
Ventajas del formato CSV
- Formato de texto ligero y legible
- Se abre rápidamente en cualquier editor de texto, incluyendo Excel
- Ideal para transferir datos entre sistemas
- Tamaño de archivo reducido en comparación con formatos binarios
- Compatible con la mayoría de programas de análisis de datos
Limitaciones del formato CSV
- No admite formato complejo (colores, fuentes)
- Imposibilidad de almacenar fórmulas o cálculos
- Soporte limitado para diferentes tipos de datos
- No permite almacenar imágenes ni tablas anidadas
Trabajar con CSV usando la biblioteca estándar
Fundamentos del módulo csv
El módulo csv viene incluido en la instalación estándar de Python y no requiere instalación adicional. Proporciona herramientas prácticas para leer y escribir archivos CSV con diversas configuraciones de formato.
import csv
data = [
['Nombre', 'Edad', 'Ciudad'],
['Carlos', 28, 'Madrid'],
['María', 25, 'Barcelona']
]
with open('personas.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerows(data)
Al ejecutar este código se crea el archivo personas.csv con el siguiente contenido:
Nombre,Edad,Ciudad
Carlos,28,Madrid
María,25,Barcelona
Configurar delimitadores en CSV
El delimitador estándar en CSV se puede cambiar según los requisitos del sistema o la configuración regional:
with open('personas.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file, delimiter=';')
writer.writerows(data)
Trabajar con DictWriter
Para manejar datos en forma de diccionarios de manera más cómoda, se utiliza la clase DictWriter:
import csv
data = [
{'Nombre': 'Carlos', 'Edad': 28, 'Ciudad': 'Madrid'},
{'Nombre': 'María', 'Edad': 25, 'Ciudad': 'Barcelona'}
]
with open('personas.csv', 'w', newline='', encoding='utf-8') as file:
fieldnames = ['Nombre', 'Edad', 'Ciudad']
writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(data)
Trabajar con archivos Excel usando openpyxl
Instalación y configuración de la biblioteca
Los archivos Excel se utilizan cuando es necesario almacenar datos estructurados con formato, fórmulas o gráficos. La biblioteca openpyxl ofrece un conjunto completo de herramientas para trabajar con archivos Excel.
pip install openpyxl
Crear un archivo Excel básico
from openpyxl import Workbook
data = [
['Nombre', 'Edad', 'Ciudad'],
['Carlos', 28, 'Madrid'],
['María', 25, 'Barcelona']
]
wb