Trabalhar com dados do Excel em Python muitas vezes requer a extração de linhas e colunas específicas em formato de lista. Converter um intervalo do Excel em uma lista do Python é extremamente útil para tarefas como:

  • Análise de dados com Pandas e NumPy
  • Automação de relatórios e processos ETL
  • Integração com modelos de aprendizado de máquina ou APIs

Neste artigo, nós aprenderemos como converter um intervalo definido do Excel em uma lista no Python passo a passo.

Biblioteca de Conversão de Excel para Lista em Python

Em vez de analisar arquivos do Excel manualmente, os desenvolvedores podem usar Aspose.Cells for Python via .NET, uma biblioteca poderosa de conversão de Excel para List. Isso não apenas facilita a extração de intervalos, linhas e colunas em listas do Python, mas também suporta recursos avançados, como fórmulas, formatação, gráficos e tabelas dinâmicas, garantindo precisão mesmo com planilhas complexas.

Antes de codificar, certifique-se de que sua configuração esteja pronta:

  1. Instale o Python 3.7+.
  2. Baixar Aspose.Cells do releases ou instale-o com pip:
pip install aspose-cells-python
  1. Prepare um arquivo Excel de amostra (sampledata.xlsx) com o seguinte conteúdo:
Converter Excel para Lista em Python: Arquivo de Dados de Exemplo

Sample Excel Data File.

Converter Intervalo do Excel para Lista em Python: Guia Passo a Passo

Vamos passar pelo processo de converter uma faixa de dados do Excel em uma lista do Python usando Aspose.Cells for Python.

Siga os passos abaixo para converter um intervalo do Excel em uma lista no Python:

  1. Primeiro, carregue o arquivo Excel existente usando a classe Workbook.
  2. Em segundo lugar, busque a primeira planilha.
  3. Em seguida, crie um intervalo, por exemplo, A1 a C4.
  4. Após isso, converta o Range para uma Lista Python.
  5. Finalmente, imprima a lista.

O seguinte script em Python carrega o arquivo Excel, define um intervalo e o converte em uma lista Python.

from aspose.cells import Workbook

# Passo 1: Carregar a pasta de trabalho do Excel
book = cells.Workbook("sample_data.xlsx")

# Passo 2: Acesse a primeira planilha
sheet1 = book.worksheets.get(0)

# Passo 3: Defina o intervalo (A1:C4 neste exemplo)
sheet_cells = sheet1.cells
range_obj = sheet_cells.create_range("A1", "C4")

# Passo 4: Converta o intervalo em uma lista aninhada do 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)

# Etapa 5: Imprima a lista 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 mostra como extrair dados do Excel e convertê-los em uma lista Python. Depois disso, pode ser facilmente transformado em Pandas ou JSON, dependendo de suas necessidades.

Converter lista Python para DataFrame Pandas

Com Pandas, você pode transformar a lista diretamente em um DataFrame:

import pandas as pd

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

Saída do DataFrame do Pandas:

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

Salvar Lista Python como JSON

Você também pode exportar os dados 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]]

Converter Linha do Excel em Lista no Python

Às vezes, você pode querer extrair apenas uma única linha do Excel e armazená-la como uma lista. Aqui está como fazê-lo com Aspose.Cells:

  1. Carregue a pasta de trabalho do Excel.
  2. Acesse a planilha alvo.
  3. Selecione a linha pelo índice.
  4. Coletar valores de linha em uma lista Python.
# Importar a biblioteca Aspose.Cells
from aspose.cells import Workbook

# Etapa 1: Carregar a pasta de trabalho do Excel a partir do arquivo
book = Workbook("sample_data.xlsx")

# Passo 2: Acesse a primeira planilha no arquivo de trabalho
sheet = book.worksheets.get(0)

# Passo 3: Defina o índice da linha (0 = primeira linha, que contém os cabeçalhos)
row_index = 0
cells = sheet.cells

# Crie um objeto de intervalo para a linha selecionada
row_range = cells.create_range(row_index, 0, 1, sheet.cells.max_column + 1)

# Passo 4: Converta a linha em uma lista 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

# Imprima a linha extraída como uma lista
print("Row to List:", row_list)

Output:

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

Converter coluna do Excel para lista em Python

Você também pode extrair uma única coluna em uma lista. Por exemplo, vamos converter a coluna Região em uma lista:

  1. Carregue a pasta de trabalho e a planilha.
  2. Selecione a coluna pelo índice.
  3. Percorra cada linha na coluna.
  4. Colete os valores da coluna em uma lista.
# Importar a biblioteca Aspose.Cells
from aspose.cells import Workbook

# Passo 1: Carregar a pasta de trabalho do Excel a partir do arquivo
book = Workbook("sample_data.xlsx")

# Acesse a primeira planilha no livro de trabalho
sheet = book.worksheets.get(0)

# Passo 2: Defina o índice da coluna (0 = primeira coluna, ou seja, Coluna A)
col_index = 0
cells = sheet.cells

# Crie um objeto de intervalo para a coluna selecionada
# Parâmetros: (linhaInicial, colunaInicial, totalLinhas, totalColunas)
# Aqui, comece na linha 0, selecione colindex, inclua todas as linhas e largura = 1 coluna
col_range = cells.create_range(0, col_index, sheet.cells.max_row + 1, 1)

# Passo 3 e 4: Converta a coluna em uma lista do 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 a coluna extraída como uma lista
print("Column to List:", col_list)

Output:

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

Obtenha uma Licença Gratuita

Avalie Aspose.Cells for Python via .NET sem limites. Solicite uma licença temporária gratuita na página de licença.Aplique-a em seu código para remover restrições de avaliação. Teste todos os recursos, incluindo DF para Excel, gráficos, fórmulas e arquivos grandes.

Excel para Lista: Recursos Gratuitos

Faça uso dos recursos a seguir para aprofundar seu conhecimento, fortalecer sua compreensão e obter insights práticos que podem ajudá-lo a aplicar o que aprende de forma mais eficaz.

Conclusão

Demonstramos como converter dados do Excel em listas do Python extraindo intervalos, linhas e colunas com Aspose.Cells for Python via .NET. Uma vez na forma de lista, os dados podem ser usados para Pandas, JSON ou outras tarefas de processamento. Embora bibliotecas como openpyxl ou pandas.readexcel possam extrair intervalos, Aspose.Cells oferece mais controle sobre fórmulas, formatação, gráficos e células mescladas, tornando-se a melhor escolha para operações complexas do Excel.

Se você precisar de ajuda ou tiver alguma dúvida, sinta-se à vontade para entrar em contato em nosso Aspose.Cells Free Support Forum.Nossa equipe ficará feliz em ajudar você.

Veja Também