0Pricing
Python Academy · Lección

Lectura de libros de trabajo

Abra y lea archivos de Excel

Lectura de libros de trabajo es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.

Excel desde Python

openpyxl es la biblioteca estándar para leer y escribir archivos modernos de Excel (el formato .xlsx). Permite que Python automatice tareas de hojas de cálculo que, de otro modo, las personas tendrían que realizar manualmente.

Esta lección se centra en abrir archivos y leer su contenido.

El modelo de libro

Los archivos de Excel tienen una jerarquía clara que openpyxl refleja:

  • Libro: el archivo completo
  • Hoja de cálculo: una pestaña dentro del libro
  • Celda: un único cuadro con formato A1 que contiene un valor

Se desplaza del libro a la hoja de cálculo y, después, a la celda.

Abrir un archivo

load_workbook('data.xlsx') lee un archivo y devuelve un libro. Para archivos grandes que solo necesita leer, pase read_only=True para procesar las filas en flujo y ahorrar memoria.

Use data_only=True para leer el último resultado calculado de las celdas con fórmulas en lugar del texto de la fórmula.

Seleccionar una hoja

wb.active devuelve la hoja seleccionada actualmente. wb['Sheet1'] selecciona una hoja por su nombre y wb.sheetnames muestra todas las pestañas. Elegir la hoja correcta es el primer paso de cualquier lectura.

sheetnames = ['Summary', 'Q1', 'Q2', 'Q3']
wanted = 'Q2'
if wanted in sheetnames:
    print('Selecting sheet:', wanted)
else:
    print('Not found, defaulting to', sheetnames[0])

Leer una sola celda

Acceda a una celda mediante su dirección de Excel: ws['A1'].value, o mediante números con ws.cell(row=1, column=1).value. El atributo .value contiene los datos reales, que pueden ser texto, un número, una fecha o None.

Letras y números de columna

Las columnas de Excel son letras (A, B, ... Z, AA), pero openpyxl también utiliza números que comienzan en 1. En ocasiones es necesario convertir unas en otros. Este es el número de columna correspondiente a una letra.

def col_to_num(letters):
    num = 0
    for ch in letters.upper():
        num = num * 26 + (ord(ch) - ord('A') + 1)
    return num

for c in ['A', 'B', 'Z', 'AA']:
    print(c, '->', col_to_num(c))

Recorrer las filas

ws.iter_rows(values_only=True) devuelve cada fila como una tupla de valores. Es la forma más clara de leer una tabla. La primera fila suele ser la cabecera.

Puede recorrer las filas igual que cualquier iterable.

rows = [
    ('Name', 'Age', 'City'),
    ('Ada', 36, 'London'),
    ('Linus', 54, 'Helsinki'),
]
header = rows[0]
for record in rows[1:]:
    print(dict(zip(header, record)))

Encontrar el rango utilizado

ws.max_row y ws.max_column indican hasta dónde se extienden los datos. ws.dimensions devuelve una cadena de rango como 'A1:C10'. Use estos datos para evitar leer celdas vacías.

Leer un rango

Puede seleccionar una parte de una hoja de cálculo: ws['A1:C3'] devuelve una tupla de tuplas de objetos de celda. Esto resulta práctico cuando solo necesita una parte de la hoja en lugar de todas las filas.

Gestionar celdas vacías

Las celdas vacías devuelven None. Las hojas de cálculo reales suelen ser desordenadas, así que debe prever valores ausentes al leer, por ejemplo, sustituyéndolos por un valor predeterminado. Esto evita errores posteriores.

raw_row = ('Ada', None, 'London')
clean = [v if v is not None else 'N/A' for v in raw_row]
print(clean)

Leer varias hojas

Un libro puede dividir los datos entre varias pestañas, por ejemplo, una por mes. Recorra wb.sheetnames, seleccione cada hoja y léala con la misma lógica. Etiquete cada fila con el nombre de su hoja para conservar el origen.

Este patrón consolida muchas pestañas en un único conjunto de datos combinado.

Comprobación rápida

Compruebe sus habilidades de lectura.

Repaso

Ahora puede leer archivos de Excel:

  • Jerarquía: libro > hoja de cálculo > celda
  • load_workbook con las opciones read_only y data_only
  • Seleccione hojas mediante wb.active, wb['Name'] y wb.sheetnames
  • Lea con .value y iter_rows(values_only=True), y compruebe max_row / max_column
  • Prevea el valor None en las celdas vacías

Preguntas frecuentes

¿La lección «Lectura de libros de trabajo» es gratis?

Sí — el texto completo de «Lectura de libros de trabajo» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Lectura de libros de trabajo»?

Abra y lea archivos de Excel Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Python Academy?

No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Lectura de libros de trabajo»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Python Academy?

Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Lectura de libros de trabajo
  2. Escritura y formato de celdas
  3. Fórmulas y gráficos
  4. Procesamiento por lotes de informes
← Volver a Python Academy