Fusão de Dados em Excel com R e Python

Python
RProgramming
Exel
Português

Guia para dominar a fusão de grandes quantidades de dados no formato Excel com R e Python.

Autor

Dransfeld, N. M.

Data de Publicação

10 de janeiro de 2024

Introdução


texto alternativo

No mundo da análise de dados, frequentemente nos deparamos com a necessidade de unir vários arquivos Excel ou CSV em um único conjunto de dados. Existem diversas abordagens para realizar esta tarefa, cada uma com seus próprios métodos e desafios. A forma mais básica envolve usar o próprio Excel para combinar arquivos manualmente ou através de macros.Além disso, existem várias ferramentas online que oferecem a fusão de arquivos Excel de maneira automatizada. Estes métodos são simples e diretos, mas têm limitações significativas, especialmente quando lidamos com grandes volumes de dados.

Problemas com Métodos Convencionais

Quando o número de arquivos é grande e cada arquivo contém uma quantidade substancial de dados, o uso do Excel ou ferramentas online pode se tornar impraticável. Tais métodos podem consumir uma quantidade excessiva de recursos do sistema, levando à lentidão ou até mesmo travamento do computador. Além disso, a utilização de ferramentas online para a fusão de dados pode representar um risco de segurança, pois expõe informações potencialmente sensíveis a domínios externos e não privados.

Imagem mostrando um grande volume de dados no formato exel

Grandes Volumes de Arquivos

Solução Segura para Grandes volumes de Arquivos

Diante desses desafios, é essencial encontrar uma forma de unir arquivos de maneira eficiente e segura, especialmente em um ambiente profissional onde a integridade e a confidencialidade dos dados são primordiais. Abaixo, compartilho com vocês dois scripts que têm contribuido em meu trabalho. Eles permitem a rápida e segura fusão de grandes quantidades de arquivos em Excel e CSV, mantendo a integridade dos dados e operando com eficiência mesmo em datasets volumosos.

Python

O script abaixo em Python é utilizado para combinar múltiplos arquivos Excel em um único DataFrame utilizando a biblioteca pandas.

import os
import pandas as pd

# Caminho onde os arquivos Excel estão localizados
# Path to the directory where the Excel files are located
path = '/path/to/directory'

# Lista para armazenar os dataframes
# List to store the dataframes
lista_dfs = []

# Iterar sobre cada arquivo no diretório
# Iterate over each file in the directory
for arquivo in os.listdir(caminho):
    if arquivo.endswith('.xlsx') or arquivo.endswith('.xls'):
        # Caminho completo do arquivo
        # Full path of the file
        caminho_arquivo = os.path.join(caminho, arquivo)
        # Ler o arquivo Excel
         # Read the Excel file
        df = pd.read_excel(caminho_arquivo)
        # Adicionar o dataframe à lista
        # Add the dataframe to the list
        lista_dfs.append(df)

# Concatenar todos os dataframes
# Concatenate all the dataframes
df_final = pd.concat(lista_dfs, ignore_index=True)

# Exibir o dataframe resultante
# Display the resulting dataframe
print(df_final)

# Salvar o dataframe resultante em um novo arquivo Excel
# Save the resulting dataframe to a new Excel file
df_final.to_excel('/caminho/para/salvar/o/arquivo_resultante.xlsx', index=False)

Se você estiver interessado em utilizar a função que recria o script mencionado anteriormente, ela está disponível no meu Gist no GitHub. Você pode facilmente acessá-la e copiá-la para o seu próprio uso. Confira-a através do seguinte link: gist.github.com/nionmaron. Sinta-se à vontade para explorar, modificar e implementar a função conforme suas necessidades!

Como Executar o Script

  1. Instale a Biblioteca pandas: Certifique-se de que a biblioteca pandas está instalada no seu ambiente Python. Se necessário, instale-a usando pip install pandas.

  2. Modifique os Caminhos: Altere os valores de caminho e o caminho no final_df.to_excel() para os caminhos desejados no seu sistema.

  3. Execute o Script: Execute o script em um ambiente Python. Isso pode ser feito através de um terminal de comando ou usando uma IDE como Jupyter Notebook, PyCharm, ou outro.

Lembre-se de que os arquivos Excel devem estar no formato .xlsx ou .xls e localizados no diretório especificado na variável caminho.

Linguagem R

O script abaixo em R é utilizado para combinar múltiplos arquivos Excel em um único DataFrame utilizando a biblioteca readxl e writexl.

# Carregar biblioteca necessária
# Load necessary library
library(readxl)

# Definir o caminho onde os arquivos Excel estão localizados
# Define the path where Excel files are located
caminho <- '/caminho/para/o/diretório'

# Obter uma lista de todos os arquivos Excel no diretório
# Get a list of all Excel files in the directory
arquivos <- list.files(path = caminho, pattern = '\\\\.xlsx$', full.names = TRUE)

# Ler cada arquivo e armazená-los em uma lista
# Read each file and store them in a list
lista_dfs <- lapply(arquivos, read_excel)

# Combinar todos os data frames
# Combine all the data frames
df_final <- do.call(rbind, lista_dfs)

# Exibir o dataframe resultante
# Display the resulting dataframe
print(df_final)

# Salvar o dataframe resultante em um novo arquivo Excel
# Instalar o pacote 'writexl' se necessário
# install.packages('writexl')
# Save the resulting dataframe in a new Excel file
# Install the 'writexl' package if necessary
# install.packages('writexl')
library(writexl)
write_xlsx(df_final, '/caminho/para/salvar/o/arquivo_resultante.xlsx')

Se você estiver interessado em utilizar a função que recria o script mencionado anteriormente, ela está disponível no meu Gist no GitHub. Você pode facilmente acessá-la e copiá-la para o seu próprio uso. Confira-a através do seguinte link: gist.github.com/nionmaron. Sinta-se à vontade para explorar, modificar e implementar a função conforme suas necessidades!

Como Executar o Script

Para executar o script, siga estes passos:

  1. Certifique-se de ter o R e os pacotes readxl e writexl instalados.
  2. Modifique o valor de caminho para o diretório onde seus arquivos Excel estão armazenados.
  3. Execute o script no R. Isso lerá todos os arquivos .xlsx no diretório especificado, os combinará em um único data frame e, opcionalmente, salvará o resultado em um novo arquivo Excel.

Lembre-se de que o caminho do diretório e o local do arquivo de saída devem ser alterados para corresponder à sua estrutura de diretórios e necessidades.

Observação

Para garantir que o script funcione corretamente e combine os dados de todos os arquivos Excel, é essencial que o nome das colunas em cada arquivo seja exatamente o mesmo. Qualquer discrepância nos nomes das colunas entre os arquivos pode resultar em erros ou em um DataFrame combinado incorreto. Verifique e padronize os nomes das colunas em todos os arquivos antes de utilizar esta função para obter os melhores resultados.

Conclusão

A escolha do método correto para a fusão de arquivos Excel depende de vários fatores, incluindo o volume de dados, a necessidade de segurança e a disponibilidade de recursos. Ao optar por soluções de programação como R e Python, podemos superar muitas das limitações dos métodos convencionais, garantindo um processo mais rápido, seguro e adaptável às necessidades de grandes projetos de análise de dados.


#DataFusion #RProgramming #PythonCoding #DataAnalysis #ExcelTips