DEV Community

Iasmin Soares
Iasmin Soares

Posted on

Concact csv

Oi Pessoal,

Neste meu primeiro post, irei mostrar como manipular arquivos csv com python. Vamos unir vários arquivos excel em um só!
Essa necessidade surgiu quando o Scrum master da minha equipe me passou o desafio, pois, Python é uma linguagem que não sei quase nada e para começar a desenvolver essa skill.

Vamos lá!!!!

Por que você precisa disso?
Copiar e colar manualmente não é um problema quando você não tem muitos arquivos com os quais trabalhar.

Imagine, que você tenha mais de 100 arquivos para concatenar — está disposto a fazer isso manualmente? Além de ser entediante, trabalhoso, é passível de erros né?!

Você precisa ter instalado em sua máquina:

  • Excel
  • Windows Terminal
  • Python
  • Vs-Code ou o programa de sua preferência
  • Biblioteca Pandas

Lembrando que, neste caso todos os arquivos precisam ter a mesma estrutura de tabela (mesmos cabeçalhos e número de colunas), vamos deixar esse pequeno script em Python fazer o trabalho por nós.

Etapa 1: Importar os pacotes e definir o diretório de trabalho
Altere os.chdir('c:\minhapasta') pelo nome do diretório de trabalho desejado.
Image description

Etapa 2: Ler os arquivos que estão dentro do diretório.
Aqui, vamos ler, percorrer os arquivos para add os itens de cada linha ao fim da lista com o append.

Image description

Etapa 3: Concatenar os aquivos
Image description

Etapa 4: Exportar o arquivo unificado.
Usamos a Lib Pandas para concatenar todos os arquivos da lista e exportá-los como um arquivo CSV. O arquivo resultante é chamado de "merge.csv" e fica localizado em seu diretório de trabalho.
Image description

encoding = ‘utf-8-sig’ é adicionado para vencer o problema de exportar em outros idiomas que não sejam o inglês.

Ao receber este desafio, confesso que pensei que não fosse conseguir ou que não estava preparada. Mas quando bate essa insegurança, precisamos AGIR para obter resultado, e adivinha???

Está pronto!!!!

Image description

Espero que consiga ajudar mais gente!

Top comments (0)