Ir para o conteúdo do rodapé
COMPARAR COM OUTROS COMPONENTES

Alternativas ao Pandas Read do Excel (sem usar interoperabilidade) | IronXL for Python

Arquivos Excel são onipresentes em tarefas de análise e manipulação de dados, oferecendo uma maneira conveniente de armazenar e organizar dados tabulares. Em Python, há múltiplas bibliotecas disponíveis para ler arquivos Excel, cada uma com seu próprio conjunto de recursos e capacidades. Duas opções proeminentes são Pandas e IronXL, ambas oferecendo métodos eficientes para ler arquivos Excel em Python.

Neste artigo, vamos comparar a funcionalidade e o desempenho do Pandas e IronXL para ler arquivos Excel em Python.

Pandas - Biblioteca Open Source

Pandas é uma poderosa biblioteca de análise e manipulação de dados open-source for Python. Ela introduz a estrutura de dados DataFrame, que é uma estrutura de dados bidimensional rotulada, com colunas de tipos potencialmente diferentes. Pandas oferece uma ampla gama de funcionalidades para manipulação de dados, incluindo a leitura e escrita de dados de várias fontes, tais como arquivos CSV, bancos de dados SQL e arquivos Excel.

Algumas características principais do Pandas incluem:

DataFrame

Pandas introduz a estrutura de dados DataFrame, que é essencialmente uma estrutura de dados bidimensional rotulada, com colunas de tipos potencialmente diferentes. É semelhante a uma planilha ou tabela SQL, tornando fácil realizar operações como filtragem, agrupamento e agregação em dados tabulares.

Manipulação de dados

Pandas oferece uma ampla gama de funções para manipulação de dados, incluindo fusão, remodelagem, fatia, indexação e pivotagem de dados. Essas operações permitem que os usuários limpem, transformem e preparem dados para análise ou visualização de maneira eficiente.

Funcionalidade de séries temporais

Pandas oferece suporte robusto para trabalhar com dados de séries temporais, incluindo ferramentas para indexação de data/hora e reamostragem, e métodos convenientes para lidar com dados ausentes e conversão de fuso horário.

Integração com bibliotecas

Pandas pode colaborar perfeitamente com várias bibliotecas Python frequentemente empregadas em análises de dados e cálculos científicos, incluindo NumPy, Matplotlib e Scikit-learn. Esta interoperabilidade permite que os usuários aproveitem as forças de diferentes bibliotecas dentro de um único fluxo de trabalho de análise.

No geral, o Pandas é uma ferramenta poderosa para manipulação e análise de dados em Python, e é amplamente usado em vários domínios, incluindo finanças, economia, biologia e ciências sociais.

IronXL - A Biblioteca Excel for Python

IronXL é uma biblioteca Python projetada especificamente para trabalhar com arquivos Excel. Ela fornece uma API intuitiva para leitura, escrita e manipulação de documentos Excel em Python. IronXL visa simplificar as operações de arquivos Excel oferecendo uma interface simples e eliminando a necessidade de dependências externas, como Microsoft Excel ou Interop do Excel.

Algumas características principais do IronXL estão listadas abaixo:

API Intuitiva de Documentos Excel for Python 3+

IronXL oferece uma API de documentos Excel for Python 3+ que é intuitiva e fácil de usar, permitindo aos desenvolvedores ler, editar e criar arquivos de planilhas Excel de forma integrada.

Suporte multiplataforma

Projetada for Python 3+ e compatível com Windows, Mac, Linux e plataformas em nuvem, IronXL garante flexibilidade nos ambientes de implantação.

Sem necessidade de Microsoft Office ou Excel Interop

Os desenvolvedores podem trabalhar com arquivos Excel em Python sem instalar o Microsoft Office ou lidar com o Interop do Excel, simplificando o processo de integração e minimizando dependências.

Compatibilidade

Suporta Python 3.7+ em vários sistemas operacionais, incluindo Microsoft Windows, macOS, Linux, Docker, Azure e AWS. Compatível com IDEs populares como JetBrains PyCharm e outros IDEs Python.

Manipulação Versátil de Workbooks

Crie, carregue, salve e exporte planilhas em vários formatos, incluindo XLS, XLSX, XSLT, XLSM, CSV, TSV, JSON, HTML, Binário e Byte Array.

Edição Poderosa de Planilhas

Edite metadados, defina permissões e senhas, crie e remova planilhas, manipule o layout da planilha, lide com imagens e mais.

Operações Avançadas de Faixa de Células

Realize várias operações em faixas de células, como ordenação, corte, limpeza, cópia, pesquisa e substituição de valores, definição de hiperlinks e mesclagem e desmesclagem de células.

Estilização Flexível de Células

Personalize estilos de células, incluindo fonte, tamanho, borda, alinhamento e padrão de fundo, e aplique formatação condicional.

Funções Matemáticas e Formatos de Dados

Utilize funções matemáticas como média, soma, mínimo e máximo, e defina formatos de dados de células, incluindo texto, número, fórmula, data, moeda, científico, hora, booleano e formatos personalizados.

Criando um projeto Python usando o PyCharm

Em primeiro lugar, o Python precisa ser instalado na sua máquina. Instale a versão mais recente do Python 3.x do site oficial do Python. Ao instalar o Python, certifique-se de escolher a opção para adicionar o Python ao PATH do sistema, permitindo o acesso a partir da linha de comando.

Para demonstrar a funcionalidade de ambos Pandas e IronXL na leitura de arquivos Excel, vamos criar um projeto Python usando PyCharm, um ambiente de desenvolvimento integrado (IDE) popular for Python.

  1. Abra o PyCharm e crie um novo projeto Python.

    Alternativas de Leitura de Excel com Pandas (Sem Usar Interop) | IronXL for Python: Figura 1 - Criando um novo projeto PyCharm

  2. Configure o projeto da seguinte forma:

    • Dê um nome ao projeto. Neste caso "pythonReadExcel"
    • Escolha o local desejado do projeto
    • Escolha o tipo de Interpretador: Projeto venv
    • Selecione a versão do Python

    Alternativas de Leitura de Excel com Pandas (Sem Usar Interop) |IronXL for Python: Figura 2 - Configurando o nome do projeto, tipo de interpretador e versão do Python

  3. Clique em "Create" para criar o projeto.

Instale Pandas e IronXL usando pip

Instalando Pandas

Para instalar o Pandas em seu projeto, você pode seguir estas etapas:

  1. Abra o Prompt de Comando ou Terminal: No PyCharm, vá para View->Tool Windows->Terminal.

    Alternativas de Leitura de Excel com Pandas (Sem Usar Interop) |IronXL for Python: Figura 3 - Abrindo o terminal

  2. Instale o Pandas via pip: O Pandas pode ser instalado usando o gerenciador de pacotes pip. Execute o seguinte comando no terminal:

    pip install pandas
    pip install pandas
    SHELL

    Este comando instala a biblioteca Pandas e suas dependências do Python Package Index (PyPI).

    Alternativas de Leitura de Excel com Pandas (Sem Usar Interop) |IronXL for Python: Figura 4 - Saída do console após instalar o Pandas

  3. Instale o OpenPyXL via pip: O OpenPyXL é a biblioteca que ajuda a ler e escrever arquivos Excel. É uma das dependências usadas pelo Pandas. Quando você instala o Pandas, o OpenPyXL é automaticamente instalado se ainda não estiver presente. Se por algum motivo não estiver instalado, você pode instalá-lo usando o seguinte comando no terminal:

    pip install openpyxl
    pip install openpyxl
    SHELL

Instalando IronXL

Para instalar o IronXL em um projeto Python, siga estas etapas:

  1. Garanta os Pré-requisitos: Antes de instalar o IronXL, certifique-se de ter os pré-requisitos necessários instalados em seu sistema.

.NET 6.0 SDK: O IronXL depende da biblioteca IronXL .NET, especificamente do .NET 6.0, como sua tecnologia subjacente. Certifique-se de ter o SDK .NET 6.0 instalado em sua máquina. Você pode baixá-lo do site oficial do .NET.

  1. Abra o Prompt de Comando ou Terminal: Faça o mesmo que antes.
  2. Instale o IronXL via pip: O IronXL pode ser instalado usando o gerenciador de pacotes pip. Execute o seguinte comando:

    
    :ProductInstall
    W```
    
    This command will collect, download, and install the IronXL library and its dependencies from the Python Package Index (PyPI).
    
    ![Alternativas de Leitura de Excel com Pandas (Sem Usar Interop) | IronXL for Python: Figure 5 - Console output from installing IronXL](/static-assets/excel/blog/pandas-read-excel/pandas-read-excel-5.webp)
    
    :ProductInstall
    W```
    
    This command will collect, download, and install the IronXL library and its dependencies from the Python Package Index (PyPI).
    
    ![Alternativas de Leitura de Excel com Pandas (Sem Usar Interop) | IronXL for Python: Figure 5 - Console output from installing IronXL](/static-assets/excel/blog/pandas-read-excel/pandas-read-excel-5.webp)
    SHELL

Reading Excel Files using Pandas and IronXL

As we have set up everything, we'll move on to reading Excel files using both libraries. The demo Excel file that we are going to read has the following values with header rows as Name, Marks, and Res:

Alternativas de Leitura de Excel com Pandas (Sem Usar Interop) | IronXL for Python: Figure 6 - Sample Excel sheet

Using Pandas

Step 1

Import the Pandas library and use the read_excel() function to read column data from the Excel file.

import pandas as pd

# Read the Excel file
df = pd.read_excel("file.xlsx")
import pandas as pd

# Read the Excel file
df = pd.read_excel("file.xlsx")
PYTHON

Ao usar a função read_excel() do Pandas, você pode especificar várias opções para exibição conforme necessário:

  • header: Especifica qual linha do arquivo Excel usar como nomes de colunas. Você pode definir como None para indicar que não há linha de cabeçalho, ou pode fornecer um número inteiro indicando o número da linha. Se omitido, os cabeçalhos são definidos como True por padrão, e as posições da primeira linha são exibidas como rótulos de cabeçalho.
  • index_col: Especifica qual coluna ou colunas usar como índice do DataFrame. Você pode passar um único nome de coluna ou índice de coluna, ou pode passar uma lista de nomes de colunas ou índices de colunas para criar um MultiIndex.

  • sheet_name: Especifica a(s) planilha(s) a serem lidas do arquivo Excel. Você pode fornecer o nome da planilha como uma string ou um número inteiro indicando as posições de planilhas com índice zero.
  • usecols: Especifica quais colunas ler do arquivo Excel. Você pode passar um único nome de coluna ou um índice de coluna, ou pode passar uma lista de nomes de colunas ou índices de colunas para ler colunas específicas.
  • dtype: Especifica os tipos de dados para colunas. Você pode passar um dicionário onde as chaves são nomes de colunas ou índices de colunas e os valores são os tipos de dados desejados.
  • converters: Especifica funções a serem aplicadas às colunas para análise personalizada. Você pode passar um dicionário onde as chaves são nomes de colunas ou índices de colunas e os valores são funções.

  • na_values: Especifica strings adicionais a serem reconhecidas como valores NaN (Not a Number). Você pode passar uma lista de strings para serem tratadas como NaN.
  • parse_dates: Especifica quais colunas analisar como datas. Você pode passar um único nome de coluna ou um índice de coluna, ou pode passar uma lista de nomes de colunas ou índices para analisar como datas.
  • date_parser: Especifica uma função para usar na análise de datas. Você pode passar uma função que aceita uma string e retorna um objeto datetime.
  • skiprows: Especifica o número de linhas a serem puladas no início do arquivo Excel.

Essas opções oferecem flexibilidade ao ler arquivos Excel com o Pandas, permitindo que você personalize o processo de leitura de acordo com seus requisitos específicos.

Etapa 2

Exiba o conteúdo do DataFrame.

print(df)
print(df)
PYTHON

Aqui está o resultado do código acima:

Alternativas de Leitura de Excel com Pandas (Sem Usar Interop) |IronXL for Python: Figura 7 - Saída da execução do código do Pandas

Usando o IronXL

Passo 1: Importe a biblioteca IronXL e use o método WorkBook.Load() para carregar o arquivo Excel. No parâmetro do método Load, você pode passar a URL válida do arquivo, o objeto de caminho do arquivo local ou o nome do arquivo se estiver no mesmo diretório que o script.

from ironxl import WorkBook

# Load the Excel file as a WorkBook object
workbook = WorkBook.Load("file.xlsx")
from ironxl import WorkBook

# Load the Excel file as a WorkBook object
workbook = WorkBook.Load("file.xlsx")
PYTHON

Passo 2: Com o IronXL, você pode acessar várias planilhas e imprimir rótulos de coluna. Acesse as planilhas e células para ler os dados armazenados em colunas. As células podem ser de qualquer tipo de dado, como colunas numéricas ou colunas de string. Os valores das células podem ser convertidos em int analisando colunas de string para valores numéricos usando a propriedade IntValue e vice-versa.

# Access the first worksheet
worksheet = workbook.DefaultWorkSheet

# Select a specific cell and return the converted value
cell_value = worksheet["A2"].IntValue
print(cell_value)

# Read from the entire worksheet and print each cell's address and value
for cell in worksheet:
    print(f"Cell {cell.AddressString} has value '{cell.Text}'")
# Access the first worksheet
worksheet = workbook.DefaultWorkSheet

# Select a specific cell and return the converted value
cell_value = worksheet["A2"].IntValue
print(cell_value)

# Read from the entire worksheet and print each cell's address and value
for cell in worksheet:
    print(f"Cell {cell.AddressString} has value '{cell.Text}'")
PYTHON

Aqui está o resultado do código acima com um formato de exibição adequado, mostrando a versatilidade do IronXL:

Alternativas de Leitura de Excel com Pandas (Sem Usar Interop) | IronXL for Python: Figura 8 - Saída do console do código IronXL

Para mais informações sobre como trabalhar com arquivos Excel, por favor visite esta página de exemplos de código.

Conclusão

Em conclusão, tanto Pandas quanto IronXL oferecem métodos eficientes para ler arquivos Excel em Python. No entanto, IronXL oferece várias vantagens sobre o Pandas, particularmente em termos de facilidade de uso, desempenho e capacidades especializadas de manipulação de Excel. A API intuitiva do IronXL e seus recursos abrangentes o tornam uma escolha superior para projetos que exigem tarefas extensas de manipulação do Excel.

Além disso, o IronXL elimina a necessidade de dependências externas como Microsoft Excel ou Excel Interop, simplificando o processo de desenvolvimento e melhorando a portabilidade em diferentes plataformas. Portanto, para desenvolvedores Python que buscam uma solução robusta e eficiente para operações de arquivos Excel, o IronXL surge como a escolha preferida, oferecendo melhores facilidades e funcionalidades aprimoradas em comparação ao Pandas. Para informações mais detalhadas sobre o IronXL, por favor visite esta página de documentação.

O IronXL fornece um teste gratuito para experimentar sua funcionalidade e viabilidade para seus projetos Python. Este teste permite que os desenvolvedores explorem toda a gama de recursos e capacidades oferecidas pelo IronXL sem qualquer compromisso financeiro inicial. Seja você considerando o IronXL para tarefas de importação/exportação de dados, geração de relatórios ou análise de dados, o teste gratuito oferece uma oportunidade para avaliar seu desempenho e adequação às suas necessidades específicas.

Para mais informações sobre opções de licenciamento e para baixar o teste gratuito, visite a página de licenciamento do site do IronXL. Aqui, você encontrará informações detalhadas sobre os termos de licenciamento, incluindo opções para uso comercial e suporte. Para começar com o IronXL e experimentar seus benefícios em primeira mão, baixe a biblioteca aqui.

ObservePandas é uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado ou patrocinado pelo Pandas. Todos os nomes de produtos, logotipos e marcas são propriedade de seus respectivos proprietários. As comparações são apenas para fins informativos e refletem informações disponíveis publicamente no momento da redação.

Perguntas frequentes

Como posso ler arquivos do Excel em Python sem usar o Interop?

Você pode usar o IronXL, uma biblioteca Python projetada para trabalhar com arquivos do Excel, que não requer o Microsoft Office nem o Excel Interop. Ela oferece uma API intuitiva para manipulação simplificada de arquivos do Excel.

O que torna o IronXL uma escolha melhor para tarefas específicas do Excel em comparação com o Pandas?

O IronXL oferece uma API especializada que simplifica as operações com arquivos do Excel sem dependências externas. Ele suporta diversos formatos do Excel, manipulação avançada de planilhas e operações em células, tornando-o ideal para tarefas específicas no Excel.

Posso manipular arquivos do Excel em diferentes sistemas operacionais usando o IronXL?

Sim, o IronXL é compatível com Python 3.7+ e suporta plataformas como Windows, macOS, Linux, Docker, Azure e AWS, oferecendo funcionalidade multiplataforma para manipulação de arquivos Excel.

Como faço para instalar o IronXL em um projeto Python?

Primeiro, certifique-se de ter o SDK do .NET 6.0 instalado. Em seguida, use o pip para instalar o IronXL executando o comando: pip install ironxl no terminal.

Quais formatos de arquivo Excel o IronXL consegue processar?

O IronXL suporta uma ampla variedade de formatos de arquivo do Excel, incluindo XLS, XLSX, XSLT, XLSM, CSV, TSV, JSON, HTML, binário e matriz de bytes.

Existe algum período de teste gratuito disponível para o IronXL?

Sim, a IronXL oferece um período de teste gratuito para que os desenvolvedores possam testar suas funcionalidades. Você pode encontrar mais informações sobre o período de teste e as opções de licenciamento no site da IronXL.

Como o IronXL melhora o desempenho de leitura de arquivos Excel em Python?

IronXL fornece uma API otimizada para leitura e manipulação eficiente de arquivos Excel, oferecendo melhor desempenho para tarefas específicas do Excel em comparação com bibliotecas de análise de dados gerais como o Pandas.

Como faço para ler arquivos do Excel usando o IronXL em Python?

Você pode ler arquivos Excel em Python usando os métodos simples do IronXL. Basta usar as funções da biblioteca para carregar e manipular os dados do Excel conforme necessário.

Por que escolher o IronXL para projetos em Python que envolvem manipulação extensiva do Excel?

O IronXL é recomendado pela sua facilidade de uso, desempenho e recursos abrangentes, como formatação flexível de células e funções matemáticas, tornando-o ideal para projetos que exigem manipulação extensiva do Excel.

Quais são algumas alternativas ao Pandas para ler arquivos Excel em Python?

IronXL é uma alternativa robusta ao Pandas para leitura de arquivos Excel em Python, oferecendo recursos específicos para manipulação de Excel sem a necessidade do Microsoft Office ou dependências externas.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me