Trabalhar com dados do Excel em Python é comum. Frequentemente envolve mover dados do Excel para um formato que pode ser manipulado de forma eficiente. Converter dados do Excel em um formato pronto para análise pode ser complicado. Neste post do blog, você aprenderá como converter Excel em arrays NumPy em apenas algumas linhas de código.
Por que NumPy?
NumPy (Numerical Python) é uma biblioteca Python de código aberto. É a espinha dorsal da ciência de dados e aprendizado de máquina em Python. NumPy fornece operações rápidas com arrays e computação numérica eficiente. Funciona suavemente com pandas, TensorFlow e scikit-learn. A biblioteca suporta arrays multidimensionais, matrizes, álgebra linear e transformadas de Fourier. Arrays usam memória contígua, tornando-os mais rápidos do que listas Python. Essa velocidade torna o NumPy uma ferramenta fundamental para computação científica e análise de dados.
O Excel é amplamente utilizado para armazenar conjuntos de dados, mas não é otimizado para fluxos de trabalho em Python. Métodos tradicionais de conversão geralmente requerem bibliotecas extras, múltiplas etapas e análise manual. Aspose.Cells permite que você exporte dados dos formatos Excel, TSV, CSV e JSON diretamente para arrays NumPy. Isso conecta planilhas com as ferramentas numéricas do Python.
What is Aspose.Cells for Python?
Aspose.Cells é a melhor biblioteca de Excel para desenvolvedores Python.Ela permite ler, criar e manipular planilhas sem depender do Microsoft Excel. A variante Python via .NET incorpora a versão .NET do Aspose.Cells e a expõe ao Python. Aspose.Cells simplifica o processo de conversão de Excel para NumPy. Ela permite exportar um livro de trabalho inteiro, planilha, intervalo, linha, coluna ou até mesmo um objeto de lista diretamente para ndarrays do NumPy. Isso significa que você pode passar de arquivos Excel brutos para dados limpos e prontos para uso em análise ou aprendizado de máquina com mínimo esforço.
Você pode instalá-lo a partir do PyPI:
pip install aspose‑cells‑python
Uma vez instalado, importe a biblioteca junto com o NumPy:
import aspose.cells as cells
import numpy as np
Como Converter a Pasta de Trabalho do Excel para NumPy
Um livro pode conter várias planilhas. Você pode exportar um livro Excel inteiro para um ndarray NumPy de uma só vez. Isso é útil quando você deseja processar dados de todas as planilhas diretamente no Python.
Siga os passos abaixo para converter uma pasta de trabalho do Excel em um ndarray do NumPy:
- Carregue a pasta de trabalho do Excel usando a classe
Workbook
. - Acesse todas as planilhas da pasta de trabalho.
- Percorra cada planilha para ler suas linhas e colunas usadas.
- Extrair valores de células linha por linha.
- Armazene os dados de cada planilha em uma lista de listas.
- Converta os dados coletados em um ndarray do NumPy usando np.asarray().
Aqui está um script Python simplificado que exporta uma pasta de trabalho de exemplo:
import aspose.cells as cells
import numpy as np
# carregar pasta de trabalho
workbook = cells.Workbook("sample_data.xlsx")
sheets = workbook.worksheets
# prepare an empty list to hold sheet data
sheets_data = []
# percorrer as planilhas
for sheet in sheets:
# sheet = workbook.worksheets.get(sheetindex)
sheet_cells = sheet.cells
max_row = sheet_cells.max_data_row + 1 # number of populated rows
max_col = sheet_cells.max_data_column + 1 # number of populated columns
sheet_rows = []
for r in range(max_row):
row_values = []
for c in range(max_col):
cell = sheet_cells.check_cell(r, c)
row_values.append(cell.value if cell else "")
sheet_rows.append(row_values)
sheets_data.append(sheet_rows)
# converter para ndarray com dtype=object para preservar strings
excel_array = np.asarray(sheets_data, dtype=object)
print(excel_array)

Como Converter o Workbook do Excel para NumPy
Este script substitui as células em branco por strings vazias e combina todas as planilhas em um único array NumPy. O array final excelarray é tridimensional: o primeiro nível representa as planilhas, o segundo representa as linhas e o terceiro representa as colunas.
[[['City', 'Region', 'Store'],
['Chicago', 'Central', '3055'],
['New York', 'East', '3036'],
['Detroit', 'Central', '3074']],
[['City2', 'Region2', 'Store3'],
['Seattle', 'West', '3000'],
['philadelph', 'East', '3082'],
['Detroit', 'Central', '3074']],
[['City3', 'Region3', 'Store3'],
['Seattle', 'West', '3166'],
['New York', 'East', '3090'],
['Chicago', 'Central', '3055']]]
Convertendo uma Única Planilha para NumPy
Às vezes, você pode querer trabalhar com uma única planilha em vez de um livro de trabalho inteiro. Você pode extrair diretamente os valores das células de uma planilha e convertê-los em um ndarray do NumPy seguindo os passos abaixo:
- Carregue o arquivo Excel com a classe
Workbook
. - Acesse a folha de cálculo alvo pelo seu índice.
- Obtenha o máximo de linhas e colunas utilizadas.
- Percorra cada linha e coluna para coletar os valores das células.
- Armazene os dados extraídos em uma lista.
- Converta a lista para um ndarray do NumPy com np.asarray().
Aqui está o script Python que exporta uma única planilha:
import aspose.cells as cells
import numpy as np
# carregar pasta de trabalho
workbook = cells.Workbook("sample_data.xlsx")
# acessar a primeira planilha
sheet = workbook.worksheets[0]
# get max rows and columns with data
max_row = sheet.cells.max_data_row + 1
max_col = sheet.cells.max_data_column + 1
# extract data
rows = []
for r in range(max_row):
row_values = []
for c in range(max_col):
cell = sheet.cells.check_cell(r, c)
row_values.append(cell.value if cell else "")
rows.append(row_values)
# converter para ndarray numpy
worksheet_array = np.asarray(rows, dtype=object)
print(worksheet_array)
Isto cria um ndarray 2D onde as linhas mapeiam para as linhas do Excel e as colunas mapeiam para as colunas do Excel.
[['City' 'Region' 'Store']
['Chicago' 'Central' '3055']
['New York' 'East' '3036']
['Detroit' 'Central' '3074']]
Como Converter uma Faixa do Excel para NumPy
Em certos casos, você só precisa de uma faixa específica de células. Aspose.Cells permite que você defina uma faixa e a exporte diretamente para um ndarray do NumPy.
Siga os passos abaixo:
- Carregue a pasta de trabalho com a classe
Workbook
. - Selecione a planilha de destino.
- Defina um intervalo usando o método
worksheet.cells.createrange()
. - Percorra as linhas e colunas do intervalo para extrair valores.
- Converta os valores em um ndarray do NumPy usando np.asarray().
O seguinte exemplo de código mostra como converter um intervalo de células do Excel para um ndarray NumPy:
import aspose.cells as cells
import numpy as np
# carregar pasta de trabalho
workbook = cells.Workbook("sample_data.xlsx")
# selecionar a primeira planilha
sheet = workbook.worksheets.get(0)
# definir um intervalo (B1 a C3)
cell_range = sheet.cells.create_range("B1", "C3")
# extrair dados de intervalo
range_data = []
for r in range(cell_range.row_count):
row_values = []
for c in range(cell_range.column_count):
cell = sheet.cells.check_cell(r, c)
row_values.append(cell.value if cell else "")
range_data.append(row_values)
# converter para ndarray do numpy
range_array = np.asarray(range_data, dtype=object)
print(range_array)
Se o intervalo selecionado abranger duas colunas e três linhas, o array resultante será 3×2, como:
[['City' 'Region']
['Chicago' 'Central']
['New York' 'East']]
Convertendo uma Tabela Excel (ListObject) para NumPy
Uma Tabela do Excel é um intervalo estruturado de dados com cabeçalhos e linhas. No Aspose.Cells, isso é representado como um ListObject. Você pode facilmente exportar o conteúdo de uma Tabela do Excel para um ndarray NumPy para processamento adicional em Python.
- Carregue a pasta de trabalho e selecione a planilha.
- Acesse o ListObject (Tabela do Excel) da planilha.
- Exportar os dados da tabela para um array bidimensional.
- Converta o array em um ndarray do NumPy.
- Use o ndarray para fluxos de trabalho de ciência de dados ou aprendizado de máquina.
O seguinte exemplo de código mostra como exportar uma tabela do Excel (ListObject) para o NumPy:
import aspose.cells as cells
import numpy as np
# Carregar arquivo Excel
workbook = cells.Workbook("sample_data.xlsx")
sheet = workbook.worksheets.get(0)
# Criar uma tabela cobrindo A1:C4 com cabeçalhos
index = sheet.list_objects.add("A1", "C4", True)
table = sheet.list_objects[index]
rows = []
for r in range(table.start_row, table.end_row + 1):
row_vals = []
for c in range(table.start_column, table.end_column + 1):
cell = sheet.cells.check_cell(r, c)
row_vals.append(cell.value if cell else "")
rows.append(row_vals)
list_object_array = np.asarray(rows, dtype=object)
print(list_object_array)
O ndarray do NumPy resultante conterá as linhas e colunas da Tabela do Excel, incluindo cabeçalhos, se fizerem parte do intervalo de dados.
[['City', 'Region', 'Store'],
['Chicago', 'Central', '3055'],
['New York', 'East', '3036'],
['Detroit', 'Central', '3074']]
Como Converter uma Linha do Excel para NumPy
Às vezes, você só precisa de dados de uma única linha no Excel. Aspose.Cells torna simples extrair uma linha e carregá-la diretamente em um ndarray NumPy.
- Carregue a pasta de trabalho do Excel.
- Selecione a planilha.
- Escolha o índice da linha que você deseja exportar.
- Exportar os valores da linha como uma matriz.
- Converta o array em um ndarray do NumPy para processamento.
O seguinte código Python mostra como converter uma linha de uma planilha do Excel para ndarray do NumPy:
import aspose.cells as cells
import numpy as np
# Carregar arquivo do Excel
workbook = cells.Workbook("sample_data.xlsx")
sheet = workbook.worksheets.get(0)
sheet_cells = sheet.cells
max_col = sheet_cells.max_data_column + 1
# escolha uma linha (por exemplo, a última linha de dados)
row_index = sheet_cells.max_data_row
row_vals = []
for c in range(max_col):
cell = sheet_cells.check_cell(row_index, c)
row_vals.append(cell.value if cell else "")
row_array = np.asarray(row_vals, dtype=object)
print(row_array)
O ndarray NumPy resultante será um array unidimensional contendo todos os valores da linha selecionada.
['Detroit' 'Central' 3074]
Converter uma coluna do Excel para NumPy
Em alguns casos, você pode precisar apenas de valores de uma única coluna de uma planilha do Excel. Aspose.Cells permite que você exporte uma coluna facilmente e a transforme em um ndarray do NumPy.
- Carregue a pasta de trabalho do Excel.
- Selecione a planilha de destino.
- Escolha o índice da coluna para exportar.
- Exportar os valores da coluna.
- Converta os valores em um ndarray do NumPy.
O seguinte código Python mostra como converter uma coluna de uma planilha Excel para NumPy ndarray:
import aspose.cells as cells
import numpy as np
# Carregar arquivo Excel
workbook = cells.Workbook("D:\\Files\\sample_data.xlsx")
sheet = workbook.worksheets.get(0)
sheet_cells = sheet.cells
max_row = sheet_cells.max_data_row + 1
# escolha uma coluna (por exemplo, a última coluna de dados)
col_index = sheet_cells.max_data_column
col_vals = []
for r in range(max_row):
cell = sheet_cells.check_cell(r, col_index)
col_vals.append(cell.value if cell else "")
column_array = np.asarray(col_vals, dtype=object)
print(column_array)
O ndarray do NumPy resultante será um array unidimensional contendo todos os valores da coluna selecionada.
['Store' 3055 3036 3074]
Dicas para Trabalhar com Aspose.Cells e NumPy
Considerações de memória: Converter planilhas muito grandes em arrays NumPy pode consumir memória significativa. Processem as planilhas individualmente ou leiam intervalos específicos, se possível.
Tipos de dados: Se sua planilha contiver tipos mistos (strings, números, datas), especifique dtype=object ao converter listas em arrays do NumPy. Para dados numéricos homogêneos, você pode deixar o NumPy inferir o tipo.
Valores ausentes: Aspose.Cells retorna None para células vazias. Nos exemplos acima, nós os substituímos por strings vazias. Você também pode substituir por np.nan ou outro valor sentinela dependendo do seu caso de uso.
Obtenha uma Licença Gratuita
Você quer explorar todo o poder do Aspose.Cells for Python? Você pode solicitar uma licença temporária gratuita.Isso permite que você teste todos os recursos sem limitações ou marcas d’água de avaliação.
Com uma licença temporária, você pode:
- Trabalhe com arquivos Excel grandes.
- Apply advanced formatting and styling.
- Realize conversões (por exemplo, Excel para PDF, NumPy e mais).
É a melhor maneira de avaliar o desempenho e a compatibilidade com seus projetos antes de tomar uma decisão de compra.
Recursos Úteis
Aqui estão alguns recursos valiosos para ajudá-lo a começar com Aspose.Cells for Python via .NET:
- Documentação do Produto
- Referência da API
- Ferramentas Online Gratuitas de Excel
- Tutoriais e Guias para Desenvolvedores
Conclusão
Aspose.Cells for Python via .NET simplifica a conversão de dados do Excel em arrays NumPy. Se você precisa do workbook inteiro, uma única planilha, um intervalo específico, uma tabela, uma linha ou uma coluna, a biblioteca fornece métodos claros para iterar através das células e construir listas que o NumPy pode consumir. Ao combinar a capacidade do Aspose.Cells de ler muitos formatos de planilhas com o poder numérico do NumPy, você pode integrar dados do Excel de forma contínua em seus pipelines de dados em Python.
Se você tiver alguma dúvida, sinta-se à vontade para perguntar em nosso free support forum, e ficaremos felizes em ajudar.