NumPy é uma das bibliotecas mais populares no Python. Ela alimenta ciência de dados, aprendizado de máquina e análise numérica. Muitos desenvolvedores usam arrays do NumPy (ndarray) para lidar rapidamente com grandes conjuntos de dados.

Em nosso post de blog anterior, explicamos como converter arquivos do Excel em arrays NumPy. Esse fluxo de trabalho é útil quando você precisa trazer dados externos para o Python para análise. Mas e se você quiser o inverso? Muitas vezes, você precisa exportar seus resultados em Python do NumPy para o Excel para relatórios e compartilhamento. O Excel é amplamente utilizado em empresas, escolas e organizações, tornando-o o formato ideal para colaboração.

Neste guia, nós mostraremos passo a passo como converter NumPy para Excel usando Python e Aspose.Cells for Python via .NET.

Por que converter NumPy para Excel?

NumPy é perfeito para cálculos e análises dentro do Python. Mas muitas vezes precisamos compartilhar os resultados com outras pessoas. A maioria dos usuários de negócios prefere o Excel porque é familiar e fácil de usar.

Aqui estão algumas razões comuns pelas quais você pode precisar exportar o NumPy para o Excel:

  • Relatório de dados: Converta dados processados em arquivos Excel para gerentes ou clientes.
  • Colaboração: Compartilhe resultados com colegas de equipe que não usam Python.
  • Análise de negócios: Combine os resultados do NumPy com relatórios e painéis do Excel existentes.
  • Visualização: Use gráficos e tabelas dinâmicas do Excel para tornar os dados mais significativos.

Excel é um formato universal. Ele faz a ponte entre desenvolvedores Python e usuários não técnicos. Ao exportar arrays NumPy para Excel, você torna seus dados acessíveis, utilizáveis e fáceis de entender.

Python NumPy Excel Library

Aspose.Cells for Python é uma poderosa biblioteca de planilhas. Ela permite que você crie, edite e processe arquivos do Excel sem instalar o Microsoft Excel. É a melhor biblioteca Excel para Python, projetada para desenvolvedores que precisam de controle total sobre documentos do Excel. Você pode:

  • Carregar e salvar arquivos Excel em formatos diferentes.
  • Trabalhe com planilhas, tabelas, intervalos e gráficos.
  • Importar e exportar dados de objetos Python, incluindo arrays NumPy.
  • Manipule grandes conjuntos de dados com alta velocidade e precisão.

A melhor parte é que Aspose.Cells funciona de forma independente. Você não precisa do Excel ou de qualquer software externo. Ele roda suavemente em suas aplicações Python e se integra bem com fluxos de trabalho científicos. Isso o torna uma solução confiável para converter dados do NumPy em arquivos do Excel.

Converter NumPy para Excel em Python

Converter um array NumPy para Excel com Aspose.Cells é simples. Siga estas etapas rápidas:

Passo 1: Instale o Aspose.Cells for Python via .NET

Instale o pacote usando pip:

pip install aspose-cells-python

Passo 2: Importar Bibliotecas Necessárias

No seu script em Python, importe NumPy e Aspose.Cells:

import numpy as np
import aspose.cells as cells

Passo 3: Crie um Array NumPy de Exemplo

Para teste, crie um array 2D simples:

data = np.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])

Passo 4: Defina uma Função Personalizada – insertnumpyarray

Os valores do NumPy geralmente vêm em tipos como numpy.int64, numpy.float32 ou numpy.bool. Esses precisam ser convertidos em tipos nativos do Python antes de serem escritos nas células do Excel.

A função auxiliar abaixo realiza essa conversão e insere o array diretamente em uma planilha começando de uma linha e coluna dadas:

# Função personalizada para inserir array NumPy na planilha
def insert_numpy_array(sheet, ndarray, start_row=0, start_col=0):
    rows, cols = ndarray.shape
   for r in range(rows):
       for c in range(cols):
            value = ndarray[r, c]
            # Converta tipos NumPy para tipos nativos do Python
            if isinstance(value, (np.integer,)):
                value = int(value)
            elif isinstance(value, (np.floating,)):
                value = float(value)
            elif isinstance(value, (np.bool_,)):
                value = bool(value)
            elif isinstance(value, (np.str_, np.str_)):
                value = str(value)
            sheet.cells.get(start_row + r, start_col + c).put_value(value)
            

Nas próximas seções, nós vamos demonstrar como inserir dados do NumPy em um Workbook, Worksheet, ListObject, Range e Named Range. Os exemplos de código nas seções seguintes usam a função auxiliar definida na seção Passo 4: Função Personalizada.

Como Converter NumPy ndarray para Workbook do Excel

Você pode criar uma pasta de trabalho completa do Excel a partir de um array NumPy em apenas algumas linhas. Este método é perfeito quando você deseja exportar resultados de análise de dados, saídas de aprendizado de máquina ou conjuntos de dados tabulares para um arquivo do Excel profissional que pode ser compartilhado ou processado ainda mais.

Siga os passos abaixo para converter um ndarray do NumPy em um Workbook do Excel:

  1. Crie um array 2D NumPy com seus dados.
  2. Inicialize uma nova planilha vazia usando a classe Workbook.
  3. Adicione uma nova planilha ao livro usando o worksheets.add() método.
  4. Acesse a nova planilha pelo seu índice.
  5. Percorra o array NumPy e insira valores nas células da planilha.
  6. Salve a pasta de trabalho como um arquivo do Excel.

O seguinte exemplo de código mostra como converter um ndarray do NumPy em uma pasta de trabalho do Excel.

# Criar um array NumPy
data = np.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])

# Converter array NumPy para a pasta de trabalho do Excel
workbook = cells.Workbook()

# Adicionar uma nova planilha
new_sheet_index = workbook.worksheets.add()
worksheet = workbook.worksheets.get(new_sheet_index)

# Insira a matriz na nova planilha começando da célula A1
insert_numpy_array(worksheet, data)

# Salve a pasta de trabalho como arquivo do Excel
workbook.save("numpy_to_workbook.xlsx")
Como Converter NumPy para Livro do Excel

Como Converter NumPy para Pasta de Trabalho Excel

Inserir ndarray do NumPy em Planilha

Às vezes você já tem uma pasta de trabalho e só quer inserir dados do NumPy em uma planilha.

Siga os passos abaixo para converter ndarray do NumPy em uma Planilha:

  1. Crie um array 2D NumPy com seus dados.
  2. Carregue um arquivo Excel existente usando a classe Workbook.
  3. Selecione a planilha onde você deseja colocar os dados.
  4. Percorra o array NumPy e insira valores nas células da planilha.
  5. Salve a pasta de trabalho como um arquivo do Excel.

O seguinte exemplo de código mostra como inserir um ndarray do NumPy em uma planilha específica de uma pasta de trabalho do Excel:

# Crie um array NumPy
data = np.array([['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036],
                 ['Detroit', 'Central', 3074]])

# Converter array NumPy para pasta de trabalho Excel
workbook = cells.Workbook("numpy_to_workbook.xlsx")

# Acesse a primeira planilha
sheet = workbook.worksheets.get(0)

# Inserir array NumPy na planilha começando de A1
insert_numpy_array(sheet, data, 0, 0)

# Salve a pasta de trabalho como arquivo do Excel
workbook.save("numpy_to_worksheet.xlsx")
Como Converter ndarray do NumPy para Planilha

Como converter ndarray do NumPy para Planilha

Como Converter ndarray do NumPy para ListObject (Tabela do Excel)

As tabelas do Excel (também chamadas de ListObjects) são uma maneira poderosa de organizar e analisar dados. Com o Aspose.Cells, você pode importar diretamente um array NumPy em um ListObject.

Por favor, siga os passos abaixo para converter ndarray do NumPy em ListObject (Tabela do Excel):

  1. Crie um array 2D NumPy com dados de exemplo.
  2. Inicialize uma nova pasta de trabalho e acesse a primeira planilha.
  3. Insira os dados do NumPy nas células da planilha usando uma função auxiliar.
  4. Defina as linhas e colunas iniciais e finais com base nas dimensões da matriz.
  5. Adicione um ListObject à planilha usando worksheet.listobjects.add().
  6. Atribua um nome de exibição ao ListObject.
  7. Salve a pasta de trabalho como um arquivo Excel.

O seguinte exemplo de código mostra como converter um ndarray do NumPy em uma tabela do Excel:

# Criar um array NumPy
data = np.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])

# Crie uma nova pasta de trabalho do Excel
workbook = cells.Workbook()
worksheet = workbook.worksheets.get(0)

# Insira o array NumPy na planilha a partir da célula A1
insert_numpy_array(worksheet, data)

# Defina o intervalo para o ListObject
start_row, start_col = 0, 0
end_row, end_col = data.shape[0] - 1, data.shape[1] - 1

# Adicionar ListObject (Tabela do Excel) dos dados do NumPy
index = worksheet.list_objects.add(start_row, start_col, end_row, end_col, True)
list_object = worksheet.list_objects[index]

# Defina um nome de exibição para a tabela
list_object.display_name = "NumPyTable"

# Salvar a pasta de trabalho
workbook.save("numpy_to_listobject.xlsx")
Como Converter ndarray do NumPy para ListObject (Tabela do Excel)

Como Converter ndarray do NumPy em ListObject (Tabela do Excel)

Converter ndarray do NumPy para Range

Às vezes, você pode querer colocar um array NumPy em um intervalo específico de células. Este método é ideal quando você precisa de um posicionamento preciso dos dados dentro das planilhas, como preencher uma área de tabela pré-definida ou exportar resultados de análise em um bloco de células selecionado.

Siga os passos abaixo para converter ndarray do NumPy em Range:

  1. Create um ndarray 2D do NumPy.
  2. Crie uma nova pasta de trabalho ou abra uma existente.
  3. Selecione a planilha de destino.
  4. Percorra os valores do ndarray e insira nas células correspondentes do Excel.
  5. Crie um objeto Range com cells.createrange(startcell, endcell).
  6. Exporte a planilha com o intervalo preenchido para um arquivo Excel.

O seguinte exemplo de código mostra como inserir um ndarray do NumPy em um intervalo do Excel:

import numpy as np
from datetime import datetime
from aspose.cells import Workbook, CellsHelper

# Helper para inserir valores do NumPy em células de forma segura
def put_cell_value(cells, raw_value, row, col):
    cell = cells.get(row, col)
    if isinstance(raw_value, (np.bool_,)):
        value = bool(raw_value)
    elif isinstance(raw_value, (np.integer,)):
        value = int(raw_value)
    elif isinstance(raw_value, (np.floating,)):
        value = float(raw_value)
    elif isinstance(raw_value, (np.datetime64,)):
        # Converter numpy datetime64 → Python datetime → string compatível com Excel
        value = str(np.datetime_as_string(raw_value, unit='D'))
    else:
        value = raw_value
    cell.put_value(value)

# Função para inserir array NumPy nas células e retornar o Intervalo
def numpy_to_range(cells, data, start_row=0, start_col=0):
    rows, cols = data.shape
   for i in range(rows):
       for j in range(cols):
            put_cell_value(cells, data[i, j], start_row + i, start_col + j)

    # Defina o intervalo com base na célula de início/fim
    start_cell = CellsHelper.cell_index_to_name(start_row, start_col)
    end_cell = CellsHelper.cell_index_to_name(start_row + rows - 1, start_col + cols - 1)
    return cells.create_range(start_cell, end_cell)

# Create a sample NumPy array
data = np.array([
    ['City', 'Region', 'Store', 'Date'],
    ['Chicago', 'Central', 3055, np.datetime64('2025-01-15')],
    ['New York', 'East', 3036, np.datetime64('2025-02-10')],
    ['Detroit', 'Central', 3074, np.datetime64('2025-03-05')]
])

# Crie uma nova Pasta de Trabalho e obtenha a primeira planilha.
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells

# Inserir ndarray em planilha como Intervalo
range_obj = numpy_to_range(cells, data, 0, 0)

print("Row count:", range_obj.row_count)
print("Column count:", range_obj.column_count)

# Salve a pasta de trabalho
workbook.save("numpy_to_range.xlsx")
Como Converter NumPy ndarray para Range

Como Converter NumPy ndarray para Intervalo

Como Converter ndarray do NumPy para Nome (Intervalo Nomeado)

Às vezes, você pode querer atribuir um nome significativo a um intervalo de dados específico no Excel. Isso facilita a referência aos dados em fórmulas, gráficos ou outras planilhas. Nesta seção, mostraremos como converter NumPy em Intervalo Nomeado do Excel usando Python e Aspose.Cells. Ao criar um intervalo nomeado, você pode trabalhar com seus dados NumPy de forma mais eficiente dentro do Excel.

Siga os passos abaixo para converter um ndarray do NumPy em um Intervalo Nomeado no Excel usando Aspose.Cells

  1. Crie um array NumPy em Python.
  2. Crie uma nova pasta de trabalho e acesse a planilha de destino.
  3. Percorra o array e insira cada valor na planilha.
  4. Defina uma faixa que cubra os dados importados.
  5. Atribua um nome a esse intervalo.
  6. Salve a pasta de trabalho como um arquivo do Excel.

O seguinte exemplo de código mostra como inserir um ndarray do NumPy em um intervalo nomeado no Excel:

import numpy as np
import aspose.cells
from aspose.cells import Workbook, CellsHelper

# Função auxiliar para inserir dados do NumPy nas células da planilha
def put_cell_value(cells, raw_value, row, column):
    if isinstance(raw_value, (np.bool_)):
        value = bool(raw_value)
    elif isinstance(raw_value, (np.integer)):
        value = int(raw_value)
    elif isinstance(raw_value, (np.floating)):
        value = float(raw_value)
    elif isinstance(raw_value, (np.datetime64)):
        value = str(np.datetime_as_string(raw_value, unit='D'))
    else:
        value = str(raw_value)
    cells.get(row, column).put_value(value)

def insert_ndarray_into_cells(cells, data, start_row, start_col):
    row_count = data.shape[0]
    col_count = data.shape[1]

   for r in range(row_count):
       for c in range(col_count):
            put_cell_value(cells, data[r][c], start_row + r, start_col + c)

    # Retorne a área da célula coberta
    end_row = start_row + row_count - 1
    end_col = start_col + col_count - 1
    return (start_row, start_col, end_row, end_col)

# ---------------------------
# Main Code
# ---------------------------

# Create a sample NumPy array
data = np.array([
    ['Product', 'Region', 'Sales'],
    ['Laptop', 'East', 1200],
    ['Phone', 'West', 950],
    ['Tablet', 'North', 740]
])

# Criar um novo Livro de Trabalho
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells

# Inserir ndarray nas células começando em (0,0)
(start_row, start_col, end_row, end_col) = insert_ndarray_into_cells(cells, data, 0, 0)

# Obter referências de célula do Excel
start_cell = CellsHelper.cell_index_to_name(start_row, start_col)
end_cell = CellsHelper.cell_index_to_name(end_row, end_col)

# Crie um intervalo nomeado para este ndarray
idx = workbook.worksheets.names.add("SalesData")  # returns index
named_range = workbook.worksheets.names[idx]  # get the Name object
named_range.refers_to = f"={worksheet.name}!{start_cell}:{end_cell}"

# Salve a pasta de trabalho
workbook.save("numpy_to_named_range.xlsx")
Como Converter ndarray do NumPy para Nome (Intervalo Nomeado)

Como converter um ndarray do NumPy em Nome (Intervalo Nomeado)

Comece com Aspose.Cells for Python

Você agora viu quão fácil é converter arrays NumPy em Excel usando Aspose.Cells. A biblioteca oferece controle total sobre pastas de trabalho, planilhas, tabelas, intervalos e intervalos nomeados.

Aqui estão alguns links úteis para aprimorar sua compreensão:

Obtenha uma licença temporária gratuita e comece a usar o Aspose.Cells hoje para tornar seus dados em Python totalmente compatíveis com os fluxos de trabalho do Excel.

NumPy para Excel: Perguntas Frequentes

Q1: Eu preciso ter o Microsoft Excel instalado para usar o Aspose.Cells?

Não. Aspose.Cells funciona de forma independente. Você não precisa do Excel ou de nenhum outro software instalado.

Q2: O Aspose.Cells consegue lidar com grandes arrays NumPy?

Sim. A biblioteca é otimizada para grandes conjuntos de dados e funciona bem mesmo com grandes matrizes.

Q3: Quais formatos do Excel são suportados?

Você pode salvar seus dados NumPy em XLSX, XLS, CSV, ODS e muitos outros formatos de planilha.

Q4: Posso formatar células do Excel após exportar dados do NumPy?

Sim. Você pode aplicar estilos, formatos de número, fórmulas e até mesmo criar gráficos ou tabelas dinâmicas.

Q5: Existe uma versão gratuita do Aspose.Cells?

Sim. Você pode baixar um free trial ou solicitar uma temporary license para testes.

Conclusão

NumPy é uma ferramenta fundamental para ciência de dados e análise numérica em Python, mas a apresentação no mundo real muitas vezes requer Excel. Com Aspose.Cells for Python via .NET, converter NumPy para Excel torna-se simples e flexível. Neste guia, exploramos diferentes métodos: exportando arrays NumPy para uma pasta de trabalho completa, inserindo dados em uma planilha, formatando como um ListObject (tabela do Excel), mapeando arrays em um intervalo e atribuindos a um intervalo nomeado. Cada abordagem serve a um propósito único. Ao combinar o poder do NumPy com a flexibilidade do Aspose.Cells, você pode mover-se de forma eficiente da análise baseada em Python para relatórios profissionais em Excel, garantindo que seus dados estejam acessíveis e prontos para apresentação.

Se você tiver alguma dúvida, sinta-se à vontade para perguntar em nosso free support forum, e teremos o prazer em ajudar.

Ver também