Crie uma GUI para converter arquivo CSV em arquivo Excel usando Python
À medida que as empresas crescem e se expandem, elas precisam gerenciar muitas informações. Essas informações podem vir em diferentes formatos e ser capaz de convertê-las para o formato correto é importante para o bom funcionamento das operações comerciais. Uma das maneiras de lidar com isso é convertendo arquivos CSV para o formato Excel. Neste tutorial, construiremos uma interface gráfica de usuário (GUI) em Python para converter arquivos CSV em arquivos Excel.
O que é um arquivo CSV e qual a importância de usar arquivos CSV em python
Um arquivo CSV (Comma Separated Values) é um arquivo de texto simples que armazena dados tabulares em um formato estruturado. Cada linha em um arquivo CSV representa um registro e cada registro contém um ou mais campos separados por vírgulas. Os arquivos CSV são amplamente utilizados em ciência de dados, aprendizado de máquina e outros campos onde dados tabulares precisam ser processados ou analisados.
Em Python, arquivos CSV são comumente usados para armazenar e processar dados. A principal importância do uso de arquivos CSV em Python é -
Fácil de ler e escrever - Python fornece um módulo integrado chamado csv que facilita a leitura e gravação de arquivos CSV. Este módulo inclui funções que tratam dos detalhes de baixo nível da análise de arquivos CSV, como manipulação de diferentes separadores de campo e manipulação de campos entre aspas.
Leve e eficiente - Os arquivos CSV são leves e ocupam pouco espaço em disco, o que os torna uma boa opção para armazenar e transferir grandes quantidades de dados. O módulo csv integrado do Python também é eficiente e pode lidar com arquivos CSV grandes sem consumir muita memória.
Compatível com outros programas - Os arquivos CSV são amplamente usados e suportados por muitos programas e ferramentas diferentes. Isso os torna uma boa opção para troca de dados entre diferentes sistemas ou aplicativos.
Flexibilidade - Os arquivos CSV podem ser facilmente personalizados para se adequarem a uma variedade de formatos e estruturas de dados. Por exemplo, você pode usar delimitadores diferentes, como tabulações ou ponto e vírgula, para separar campos em um arquivo CSV.
Integração com outras bibliotecas Python - A biblioteca pandas do Python, que é amplamente usada em ciência e análise de dados, inclui um poderoso mecanismo de leitura e gravação CSV que permite ler e manipular facilmente arquivos CSV. Isso facilita a integração de arquivos CSV em fluxos de trabalho maiores de processamento de dados.
Em resumo, os arquivos CSV fornecem uma maneira simples e flexível de armazenar e trocar dados tabulares, e o Python fornece um conjunto poderoso e eficiente de ferramentas para trabalhar com arquivos CSV.
Quais são as vantagens de usar o Excel?
Excel é um popular aplicativo de planilha desenvolvido pela Microsoft. É amplamente utilizado em empresas, escolas e ambientes pessoais para diversos fins. Aqui estão algumas vantagens de usar o Excel -
Organização de dados - O Excel permite organizar dados em formato tabular, facilitando a visualização e manipulação de grandes quantidades de dados. Você pode classificar, filtrar e agrupar dados para identificar rapidamente padrões e tendências.
Cálculo - O Excel possui recursos de cálculo poderosos, permitindo realizar cálculos e análises complexas de seus dados. Você pode usar fórmulas, funções e tabelas dinâmicas para analisar seus dados e gerar insights.
Visualização - O Excel permite criar tabelas e gráficos para visualizar seus dados. Isso torna mais fácil comunicar insights e tendências a outras pessoas.
Colaboração - O Excel permite que vários usuários trabalhem na mesma planilha simultaneamente, facilitando a colaboração em projetos com outras pessoas. Você também pode acompanhar alterações e comentários, facilitando a revisão e aprovação de alterações.
Integração - O Excel pode ser integrado a outros aplicativos de software, como bancos de dados e outras fontes de dados, facilitando a importação e exportação de dados. Isso permite trabalhar com dados de diferentes fontes em uma única planilha.
Automação - O Excel possui recursos de automação poderosos, permitindo automatizar tarefas repetitivas e economizar tempo. Você pode usar macros e VBA (Visual Basic for Applications) para automatizar tarefas como formatação, entrada de dados e relatórios.
Em resumo, o Excel é uma ferramenta poderosa para organizar, analisar e visualizar dados. Ele permite que você colabore com outras pessoas e integre dados de diferentes fontes. Ele também fornece recursos de automação para economizar tempo e aumentar a eficiência.
Pré-requisitos
Antes de nos aprofundarmos nos detalhes da criação de uma GUI, você deve ter um conhecimento básico de programação Python, conceitos de programação orientada a objetos (OOP) e como trabalhar com o módulo Tkinter.
Lista de configurações recomendadas -
pip instalar tkinter, pandas
Espera-se que o usuário tenha acesso a qualquer IDE independente, como VS-Code, PyCharm, Atom ou Sublime text.
Até mesmo compiladores Python online também podem ser usados, como Kaggle.com, plataforma Google Cloud ou qualquer outro.
Versão atualizada do Python. No momento em que escrevo o artigo, usei a versão 3.10.9.
Conhecimento do uso do notebook Jupyter.
O conhecimento e a aplicação do ambiente virtual seriam benéficos, mas não obrigatórios.
Etapas necessárias para realizar a tarefa
Passo 1: Importe os módulos necessários
import tkinter as tk
import pandas as pd
from tkinter import filedialog
Nesta seção, importaremos a biblioteca pandas e também a biblioteca tkinter. Pandas será usado para ler o arquivo CSV de entrada e tkinter será usado para construir a GUI.
Etapa 2: Construindo a GUI
Criaremos uma função chamada "CSV_to_Excel" que será executada quando o "Botão Converter" for clicado. Esta função lê o arquivo CSV de entrada, converte-o para o formato Excel e salva-o com a extensão ".xlsx".
# Building the GUI
# Function to Convert CSV to Excel and save it
def CSV_to_Excel():
# Get Input File Path
input_file_path = filedialog.askopenfilename()
# Read CSV
df = pd.read_csv(input_file_path)
# Get Output File Path and Name
output_file_name = input_file_path.split("/")[-1][:-4]
output_file_path = filedialog.asksaveasfilename(defaultextension=".xlsx", initialfile=output_file_name)
# Convert CSV to Excel and Save
df.to_excel(output_file_path, index=False)
Em seguida, precisamos criar a janela GUI. Podemos fazer isso criando uma instância da classe Tk() do módulo Tkinter. Também podemos definir o título da janela usando o método title().
Etapa 3: crie uma janela principal
A janela principal é a janela que conterá nossa GUI. Iniciaremos a janela GUI criando uma instância da classe tkinter “Tk()”. Em seguida, definiremos vários atributos da janela, como título, cor de fundo, largura e altura.
# Creating Main Window
root = tk.Tk()
root.title("CSV to Excel Converter")
root.geometry("400x200")
root.config(bg="#f0f0f0")
Etapa 4: Crie a função para verificar a disponibilidade do domínio:
Nesta etapa, adicionaremos um botão à janela. Este botão terá o texto "Converter" e executará a função CSV_to_Excel() quando clicado.
# Adding a Button to the Window
convert_button = tk.Button(root, text="Convert", command=CSV_to_Excel, font=("Helvetica", 14), bg="#4caf50", fg="#ffffff")
convert_button.pack(pady=20)
Etapa 5: caixa de diálogo Adicionar um arquivo
Nesta etapa, adicionaremos uma caixa de diálogo de arquivo para permitir que o usuário selecione o arquivo CSV de entrada e fornecer ao usuário a opção de selecionar o nome e o diretório do arquivo de saída.
# Adding File Dialog
filedialog = tk.filedialog
Etapa 6: executando a GUI
Finalmente, executaremos a GUI chamando a função root.mainloop(), que exibirá nossa janela GUI.
# Running the GUI
root.mainloop()
Código final, programa
import tkinter as tk
import pandas as pd
from tkinter import filedialog
# Building the GUI
# Function to Convert CSV to Excel and save it
def CSV_to_Excel():
# Get Input File Path
input_file_path = filedialog.askopenfilename()
# Read CSV
df = pd.read_csv(input_file_path)
# Get Output File Path and Name
output_file_name = input_file_path.split("/")[-1][:-4]
output_file_path = filedialog.asksaveasfilename(defaultextension=".xlsx", initialfile=output_file_name)
# Convert CSV to Excel and Save
df.to_excel(output_file_path, index=False)
# Creating Main Window
root = tk.Tk()
root.title("CSV to Excel Converter")
root.geometry("400x200")
root.config(bg="#f0f0f0")
# Adding a Button to the Window
convert_button = tk.Button(root, text="Convert", command=CSV_to_Excel, font=("Helvetica", 14), bg="#4caf50", fg="#ffffff")
convert_button.pack(pady=20)
# Adding File Dialog
filedialog = tk.filedialog
# Running the GUI
root.mainloop()
Saída
O usuário precisa definir o caminho do arquivo a ser convertido. A saída será armazenada na pasta desejada.
Exemplo do mundo real
Suponha que uma empresa colete dados sobre sua produção diária em formato CSV. Eles precisam analisar e visualizar os dados em Excel para seu relatório gerencial. Ao usar nosso conversor CSV para Excel, a empresa pode converter facilmente os dados de produção diária do formato CSV para o formato Excel com apenas alguns cliques.
Limitações
O código só funciona para converter arquivos CSV em arquivos Excel.
Vários arquivos CSV não podem ser convertidos de uma só vez
Conclusão
Neste tutorial, aprendemos como construir uma GUI em Python para converter arquivos CSV em Excel. Também demonstramos como usar a biblioteca tkinter para construir uma GUI e como a biblioteca pandas pode ser usada para ler e converter arquivos CSV para o formato Excel. Também fornecemos um exemplo de um cenário real onde esta ferramenta pode ser útil. Esta ferramenta pode ajudar as empresas a gerenciar seus dados e economizar tempo na conversão para diferentes formatos.