- Programação

Como manipular arquivos CSV em Python

Ficheiro:Python logo and wordmark.svg – Wikipédia, a enciclopédia livre

Os arquivos CSV (Comma-Separated Values) são uma maneira popular e prática de armazenar dados em formato de tabela, podendo ser lidos por diferentes softwares, incluindo Python. Neste artigo, você aprenderá a manipular arquivos CSV em Python, usando a biblioteca csv e outras ferramentas nativas e de terceiros.

Lendo arquivos CSV em Python com a biblioteca csv

A biblioteca csv é uma das maneiras mais comuns de trabalhar com arquivos CSV no Python. Para começar, você pode ler dados de um arquivo CSV da seguinte forma:

import csv

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

Neste exemplo, csv.reader lê o arquivo linha a linha, exibindo cada linha como uma lista. Essa é uma maneira eficiente de processar arquivos CSV pequenos a médios.

Escrevendo em arquivos CSV com Python

Além de ler, você pode escrever dados em um arquivo CSV. Veja como funciona:

import csv

dados = [['Nome', 'Idade', 'Cidade'],
         ['Ana', 28, 'São Paulo'],
         ['Bruno', 22, 'Rio de Janeiro']]

with open('dados.csv', 'w', newline='') as arquivo_csv:
    escritor_csv = csv.writer(arquivo_csv)
    escritor_csv.writerows(dados)

Neste caso, csv.writer é utilizado para criar um arquivo CSV. O método writerows escreve múltiplas linhas de uma vez, enquanto writerow escreve uma linha por vez.

Usando DictReader e DictWriter para arquivos CSV com cabeçalhos

Se o arquivo CSV possui cabeçalhos, você pode utilizar DictReader e DictWriter para manipular dados como dicionários:

import csv

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

Para escrever, veja o exemplo abaixo:

import csv

dados = [{'Nome': 'Ana', 'Idade': 28, 'Cidade': 'São Paulo'},
         {'Nome': 'Bruno', 'Idade': 22, 'Cidade': 'Rio de Janeiro'}]

with open('dados.csv', 'w', newline='') as arquivo_csv:
    colunas = ['Nome', 'Idade', 'Cidade']
    escritor_csv = csv.DictWriter(arquivo_csv, fieldnames=colunas)
    escritor_csv.writeheader()
    escritor_csv.writerows(dados)

Manipulando CSVs com pandas para análises mais avançadas

Para tarefas de análise de dados mais complexas, a biblioteca pandas simplifica a manipulação de arquivos CSV. Você pode instalar o pandas com o comando pip install pandas e então utilizá-lo:

import pandas as pd

# Lendo um arquivo CSV
df = pd.read_csv('dados.csv')
print(df)

# Escrevendo para um arquivo CSV
df.to_csv('saida.csv', index=False)

O pandas é extremamente útil quando você precisa manipular e analisar grandes quantidades de dados, fornecendo diversas funções para filtragem, agrupamento, entre outras.

Conclusão

A manipulação de arquivos CSV em Python é prática e versátil com as bibliotecas csv e pandas, permitindo desde operações simples de leitura e escrita até análises complexas de dados.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *