Como manipular arquivos CSV no Python

Cansado de programar?

Cansado(a) de quebrar a cabeça para aprender a programar Python de verdade?

Conheça a melhor e mais completa formação de Python e Django e sinta-se um programador verdadeiramente competente. Além de Python e Django, você também vai aprender Banco de Dados, SQL, HTML, CSS, Javascript, Bootstrap e muito mais!

Quero aprender Python e Django de Verdade! Quero aprender!
Suporte

Tire suas dúvidas diretamente com o professor

Suporte

Projetos práticos voltados para o mercado de trabalho

Suporte

Formação moderna com foco na prática profissional

Salve salve Pythonista 👋

Neste artigo, iremos explorar a manipulação de arquivos CSV (Comma Separated Values) usando a linguagem de programação Python.

Os arquivos CSV são amplamente utilizados para armazenar dados tabulares de forma simples e eficiente.

Portanto, é essencial que programadores Python tenham conhecimento sobre como manipulá-los.

Vá Direto ao Assunto…

Por que aprender a manipular arquivos CSV com Python?

A manipulação de arquivos CSV é uma tarefa comum para programadores Python em vários domínios, como processamento de dados, análise de dados, geração de relatórios e muito mais.

É importante saber como ler, escrever e manipular arquivos CSV usando Python, pois isso permite automatizar várias tarefas e processar grandes quantidades de dados de forma eficiente.

Lendo arquivos CSV

Vamos começar aprendendo a ler arquivos CSV usando Python.

Para isso, usaremos o módulo csv que já vem embutido na biblioteca padrão do Python.

O módulo csv nos fornece várias funcionalidades para trabalhar com arquivos CSV de forma fácil e eficiente.

Para ler um arquivo CSV, primeiro precisamos abrir o arquivo usando a função open.

Em seguida, usaremos o objeto de arquivo retornado para criar um leitor de CSV usando a função csv.reader.

O exemplo a seguir demonstra como ler um arquivo CSV chamado dados.csv:

1
2
3
4
5
6
import csv

with open('dados.csv', 'r') as arquivo:
    leitor_csv = csv.reader(arquivo)
    for linha in leitor_csv:
        print(linha)

Neste exemplo, usamos um with statement para garantir que o arquivo seja fechado corretamente após o uso.

Em seguida, criamos um leitor de CSV usando o objeto de arquivo retornado pela função open.

Por fim, iteramos sobre as linhas do arquivo usando um loop for e imprimimos cada linha.

Está curtindo esse conteúdo? :thumbsup:

Que tal receber 30 dias de conteúdo direto na sua Caixa de Entrada?

Sua assinatura não pôde ser validada.
Você fez sua assinatura com sucesso.

Assine a PyDicas e receba 30 dias do melhor conteúdo Python direto na sua Caixa de Entrada: direto e sem enrolação!

Manipulando dados CSV

Agora que sabemos como ler um arquivo CSV, vamos aprender como manipular os dados contidos nele.

A manipulação de dados CSV envolve várias tarefas, como filtrar linhas, selecionar colunas específicas e calcular estatísticas.

O exemplo a seguir demonstra como filtrar linhas em um arquivo CSV:

1
2
3
4
5
6
7
8
import csv

with open('dados.csv', 'r') as arquivo:
    leitor_csv = csv.reader(arquivo)
    next(leitor_csv)  # pula a primeira linha (cabeçalho)
    for linha in leitor_csv:
        if linha[2] == 'Brasil':
            print(linha)

Neste exemplo, usamos a função next para pular a primeira linha do arquivo, que geralmente contém o cabeçalho.

Em seguida, verificamos se o valor da terceira coluna (índice 2) é igual a “Brasil” e, se for, imprimimos a linha.

Dessa forma, filtramos apenas as linhas que atendem a essa condição.

Além disso, podemos selecionar colunas específicas em um arquivo CSV usando a indexação adequada.

O exemplo a seguir ilustra como selecionar apenas as colunas 1 e 3 de um arquivo CSV:

1
2
3
4
5
6
import csv

with open('dados.csv', 'r') as arquivo:
    leitor_csv = csv.reader(arquivo)
    for linha in leitor_csv:
        print(linha[0], linha[2])

Neste exemplo, imprimimos apenas as colunas 1 e 3 de cada linha do arquivo.

As colunas são indexadas a partir de zero, então a primeira coluna é representada pelo índice 0, a segunda coluna pelo índice 1 e assim por diante.

Tá curtindo, que tal aprender Python DE VERDADE?! :point_down:

Jornada Python Jornada Python

Escrevendo em arquivos CSV

Além de ler dados de um arquivo CSV, também podemos escrever dados em um arquivo CSV usando Python.

Para escrever em um arquivo CSV, usamos a função csv.writer juntamente com o objeto de arquivo retornado pela função open.

O exemplo a seguir demonstra como escrever dados em um arquivo CSV:

1
2
3
4
5
6
7
8
9
10
11
12
13
import csv

dados = [
    ['Nome', 'Idade', 'País'],
    ['João', '25', 'Brasil'],
    ['Maria', '30', 'Portugal'],
    ['José', '35', 'Espanha']
]

with open('dados.csv', 'w', newline='') as arquivo:
    escritor_csv = csv.writer(arquivo)
    for linha in dados:
        escritor_csv.writerow(linha)

Neste exemplo, criamos uma lista de listas chamada dados, onde cada lista representa uma linha do CSV.

Em seguida, abrimos o arquivo dados.csv em modo de escrita, usando a opção w.

Usamos o parâmetro newline='' para evitar caracteres de nova linha indesejados.

Por fim, usamos um loop for para escrever cada linha do dados no arquivo CSV usando a função writerow do objeto escritor de CSV.

Conclusão

Neste artigo, exploramos a manipulação de arquivos CSV com Python.

Aprendemos como ler arquivos CSV, filtrar linhas, selecionar colunas específicas e escrever dados em um arquivo CSV. Manipular arquivos CSV é uma habilidade essencial para programadores Python, pois permite trabalhar com dados tabulares de forma simples e eficiente.

Espero que este guia prático tenha sido útil para você começar a trabalhar com arquivos CSV em Python.

Continue praticando e experimentando para aprimorar suas habilidades de manipulação de dados!

Até a próxima! 👋

#newsletter Olá :wave: Curtiu o artigo? Então faça parte da nossa Newsletter! Privacidade Não se preocupe, respeitamos sua privacidade. Você pode se descadastrar a qualquer momento.