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.