Trabajar con datos de Excel en Python a menudo requiere extraer filas y columnas específicas en un formato de lista. Convertir un rango de Excel a una lista de Python es extremadamente útil para tareas como:

  • Análisis de datos con Pandas y NumPy
  • Automatización de informes y procesos ETL
  • Integración con modelos de aprendizaje automático o API

En este artículo, aprenderemos cómo convertir un rango definido de Excel en una lista en Python paso a paso.

Biblioteca convertidora de Excel a lista de Python

En lugar de analizar archivos de Excel manualmente, los desarrolladores pueden usar Aspose.Cells for Python a través de .NET, una poderosa biblioteca de conversión de Excel a Lista. No solo facilita la extracción de rangos, filas y columnas en listas de Python, sino que también soporta características avanzadas como fórmulas, formatos, gráficos y tablas dinámicas, asegurando precisión incluso con hojas de cálculo complejas.

Antes de codificar, asegúrate de que tu configuración esté lista:

  1. Instala Python 3.7+.
  2. Descargar Aspose.Cells de las versiones o instálelo con pip:
pip install aspose-cells-python
  1. Prepare a sample Excel file (sampledata.xlsx) with the following content:
Convert Excel to List in Python: Sample Data File

Archivo de datos de Excel de muestra.

Convertir rango de Excel a lista de Python: Guía paso a paso

Vamos a repasar el proceso de convertir un rango de datos de Excel en una lista de Python usando Aspose.Cells for Python.

Siga los pasos a continuación para convertir un rango de Excel en una lista en Python:

  1. Primero, carga el archivo de Excel existente utilizando la clase Workbook.
  2. Segundo, obtén la primera hoja de cálculo.
  3. A continuación, crea un rango, por ejemplo, A1 a C4.
  4. Después de eso, convierte el Rango a una lista de Python.
  5. Finalmente, imprime la lista.

El siguiente script de Python carga el archivo de Excel, define un rango y lo convierte en una lista de Python.

from aspose.cells import Workbook

# Paso 1: Cargar el libro de Excel
book = cells.Workbook("sample_data.xlsx")

# Paso 2: Accede a la primera hoja de cálculo
sheet1 = book.worksheets.get(0)

# Paso 3: Definir el rango (A1:C4 en este ejemplo)
sheet_cells = sheet1.cells
range_obj = sheet_cells.create_range("A1", "C4")

# Paso 4: Convierte el rango en una lista anidada de Python
range_list = []
for row_index in range(range_obj.first_row, range_obj.first_row + range_obj.row_count):
    row = []
   for column_index in range(range_obj.first_column, range_obj.first_column + range_obj.column_count):
        curr_cell = sheet_cells.check_cell(row_index, column_index)
        row.append(curr_cell.value if curr_cell else "")
    range_list.append(row)

# Paso 5: Imprimir la lista de Python
print("Python List Output:")
print(range_list)

Output

Python List Output:
[['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036], ['Detroit', 'Central', 3074]]

Este script completo muestra cómo extraer datos de Excel y convertirlos en una lista de Python. Después de eso, se puede transformar fácilmente en Pandas o JSON dependiendo de sus requisitos.

Convertir lista de Python a DataFrame de Pandas

Con Pandas, puedes transformar directamente la lista en un DataFrame:

import pandas as pd

# Convert to a Pandas DataFrame
df = pd.DataFrame(range_list[1:], columns=range_list[0])
print(df)

Pandas DataFrame Output:

       City   Region  Store
0   Chicago  Central   3055
1  New York     East   3036
2   Detroit  Central   3074

Guardar lista de Python como JSON

También puedes exportar los datos como JSON:

import json

# Convert to JSON
json_output = json.dumps(range_list)
print(json_output)

JSON Output:

[["City", "Region", "Store"], ["Chicago", "Central", 3055], ["New York", "East", 3036], ["Detroit", "Central", 3074]]

Convertir fila de Excel a lista en Python

A veces puede que desees extraer solo una fila de Excel y almacenarla como una lista. Así es como hacerlo con Aspose.Cells:

  1. Cargue el libro de Excel.
  2. Acceda a la hoja de trabajo objetivo.
  3. Selecciona la fila por índice.
  4. Reúne los valores de la fila en una lista de Python.
# Importar la biblioteca Aspose.Cells
from aspose.cells import Workbook

# Paso 1: Cargue el libro de Excel desde el archivo
book = Workbook("sample_data.xlsx")

# Paso 2: Acceder a la primera hoja de trabajo en el libro de trabajo
sheet = book.worksheets.get(0)

# Paso 3: Definir el índice de la fila (0 = primera fila, que contiene encabezados)
row_index = 0
cells = sheet.cells

# Crea un objeto de rango para la fila seleccionada.
row_range = cells.create_range(row_index, 0, 1, sheet.cells.max_column + 1)

# Paso 4: Convierte la fila en una lista de Python
row_list = []
for column_index in range(row_range.first_column, row_range.first_column + row_range.column_count):
    curr_cell = cells.check_cell(row_index, column_index)  # Get each cell in the row
    row_list.append(curr_cell.value if curr_cell else "")  # Append value or empty string if cell is blank

# Imprimir la fila extraída como una lista
print("Row to List:", row_list)

Output:

Row to List: ['City', 'Region', 'Store']

Convertir columna de Excel a lista en Python

También puedes extraer una sola columna en una lista. Por ejemplo, vamos a convertir la columna Región en una lista:

  1. Cargue el libro y la hoja de trabajo.
  2. Selecciona la columna por índice.
  3. Recorra cada fila en la columna.
  4. Recoge los valores de la columna en una lista.
# Importar la biblioteca Aspose.Cells
from aspose.cells import Workbook

# Paso 1: Cargar el libro de Excel desde el archivo
book = Workbook("sample_data.xlsx")

# Acceda a la primera hoja de trabajo en el libro.
sheet = book.worksheets.get(0)

# Paso 2: Defina el índice de la columna (0 = primera columna, es decir, Columna A)
col_index = 0
cells = sheet.cells

# Crear un objeto de rango para la columna seleccionada
# Parámetros: (filainicial, columnainicial, totalfilas, totalcolumnas)
# Aquí, comienza en la fila 0, selecciona colindex, incluye todas las filas y ancho = 1 columna.
col_range = cells.create_range(0, col_index, sheet.cells.max_row + 1, 1)

# Paso 3 y 4: Convierte la columna en una lista de Python
col_list = []
for row_index in range(col_range.first_row, col_range.first_row + col_range.row_count):
    curr_cell = cells.check_cell(row_index, col_index)  # Get each cell in the column
    if curr_cell:  # Only add if the cell exists (ignore empty rows)
        col_list.append(curr_cell.value)

# Imprima la columna extraída como una lista
print("Column to List:", col_list)

Output:

Column to List: ['City', 'Chicago', 'New York', 'Detroit']

Obtén una licencia gratuita

Evalúa Aspose.Cells for Python a través de .NET sin límites. Solicita una licencia temporal gratuita desde la license page.Aplícala en tu código para eliminar las restricciones de evaluación. Prueba cada función, incluyendo DF a Excel, gráficos, fórmulas y archivos grandes.

Excel a Lista: Recursos Gratuitos

Utilice los siguientes recursos para profundizar su conocimiento, fortalecer su comprensión y obtener conocimientos prácticos que pueden ayudarle a aplicar lo que aprende de manera más efectiva.

Conclusión

Demostramos cómo convertir datos de Excel en listas de Python extrayendo rangos, filas y columnas con Aspose.Cells for Python a través de .NET. Una vez en forma de lista, los datos pueden ser utilizados para Pandas, JSON u otras tareas de procesamiento. Aunque bibliotecas como openpyxl o pandas.readexcel pueden extraer rangos, Aspose.Cells proporciona más control sobre fórmulas, formateo, gráficos y celdas combinadas, lo que la convierte en la mejor opción para operaciones complejas en Excel.

Si necesita ayuda o tiene alguna pregunta, no dude en comunicarse en nuestro Aspose.Cells Free Support Forum.Nuestro equipo estará encantado de ayudarle.

Ver también