CodeGym /Cursos Java /Python SELF ES /Guardando datos en formatos CSV y Excel

Guardando datos en formatos CSV y Excel

Python SELF ES
Nivel 32 , Lección 3
Disponible

1. Preparación de los datos para guardar

En las lecciones anteriores ya hemos aprendido a extraer datos de las páginas web usando la biblioteca BeautifulSoup. Ahora es momento de convertir nuestros logros de scraping en algo útil y cómodo para analizar. Porque si los datos permanecen solo en tu script, no sirven de mucho. Hoy aprenderemos cómo guardar datos en formatos CSV y Excel, porque, como se sabe, en la vida de un programador, al igual que en la vida de un gato, lo más importante es encontrar algo de comer... quiero decir, guardar.

Antes de que empecemos a convertir nuestros datos en divertidas tablas, vamos a hacer una breve pausa y analizar cómo preparar nuestros datos para exportar. Generalmente, los datos que extraemos de las páginas web están presentados en forma de listas o diccionarios. Es preferible formatearlos para que estén listos para exportar en un formato tabular.

Ejemplo de datos

Supongamos que recopilaste los siguientes datos sobre libros:

Python

books = [
    {"title": "Harry Potter y la piedra filosofal", "author": "J. K. Rowling", "price": "350.00"},
    {"title": "El Señor de los Anillos", "author": "J. R. R. Tolkien", "price": "500.00"},
    {"title": "El Maestro y Margarita", "author": "M. A. Bulgakov", "price": "450.00"}
]

2. Guardar en formato CSV

CSV (Comma-Separated Values) es un formato de texto simple que permite almacenar datos tabulares. Cada fila en CSV representa un registro, y cada columna está separada por comas. Aprendamos a guardar nuestros datos en este formato.

Usando la biblioteca csv

Python nos ofrece un módulo llamado csv, que facilita mucho la vida al trabajar con archivos CSV. Aquí está cómo exportar nuestros datos sobre libros a CSV:

Python

import csv

with open('books.csv', mode='w', newline='', encoding='utf-8') as file:
    writer = csv.DictWriter(file, fieldnames=["title", "author", "price"])
    writer.writeheader()
    writer.writerows(books)

print("Datos guardados exitosamente en books.csv")

Nota importante: siempre indica newline='' al abrir un archivo en modo w, para evitar las líneas en blanco adicionales en Windows.

Leyendo datos desde CSV

Para completar el cuadro, veamos cómo leer nuevamente los datos desde CSV:

Python

with open('books.csv', mode='r', encoding='utf-8') as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row)

3. Guardar en formato Excel

Para trabajar con Excel en Python vamos a utilizar la biblioteca pandas. Pandas permite fácilmente convertir nuestros datos en un DataFrame y exportarlos a varios formatos, incluido Excel.

Instalando pandas

Si aún no tienes pandas instalado, lo puedes hacer con pip:

Bash

pip install pandas openpyxl

Usando pandas para exportar a Excel

Ahora guardemos nuestros datos sobre libros en un archivo Excel:

Python

import pandas as pd

df = pd.DataFrame(books)
df.to_excel('books.xlsx', index=False, engine='openpyxl')

print("Datos guardados exitosamente en books.xlsx")

Leyendo datos desde Excel

Qué alegría no solo crear, sino también reutilizar lo creado. Aprendamos cómo leer datos desde Excel:

Python

df = pd.read_excel('books.xlsx')
print(df)

4. Errores y cómo manejarlos

Como en cualquier otro aspecto de la programación, al exportar datos puedes encontrarte con errores. Los más comunes están relacionados con rutas de archivos incorrectas o la falta de bibliotecas necesarias. Por ejemplo, si olvidas instalar openpyxl, no podrás exportar a Excel.

Verificar la existencia de archivos

Antes de intentar escribir o leer un archivo, es útil comprobar si existe. Esto se puede hacer con el módulo os:

Python

import os

if os.path.exists('books.csv'):
    print("El archivo books.csv existe")
else:
    print("El archivo books.csv no se encontró")

No lo creerás, pero el error más común entre los principiantes es sobrescribir accidentalmente datos antiguos con nuevos. Automatizar la conservación del historial de archivos es todo un arte.

No olvides incluir también el manejo de errores con las estructuras try-except, para que tu script no se salga al primer problema.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION