Trabalhar com CSV-arquivos (Comma-Separated Values) é uma tarefa comum na programação, que se manifesta em muitas aplicações práticas. Seja para recuperar dados de APIs ou gerenciar estoques — a capacidade de ler e escrever arquivos CSV é indispensável. Neste guia, você aprenderá como processar arquivos CSV de forma eficaz com Python. Vamos explorar a criação de arquivos CSV, a leitura de dados e a manipulação desses dados.
Principais descobertas
- Visão geral do módulo: O Python oferece um módulo CSV embutido, que fornece CSV-Reader e Writer.
- Estrutura de dados: Você pode usar tanto listas quanto dicionários para armazenar e processar dados.
- Manuseio eficiente de I/O: Use with open(...) para gerenciar o acesso ao arquivo, não precisando se preocupar em fechar os arquivos.
Guia passo a passo
Criar diretório e arquivo CSV
No início, crie um diretório vazio. Nesse diretório, você deve criar um arquivo chamado csvdateien.py. Este arquivo será seu script principal para trabalhar com arquivos CSV.

Dentro do seu arquivo Python, você pode criar o arquivo CSV, utilizando o nome produkte.csv. Neste arquivo, você definirá as colunas com os cabeçalhos ID do Produto, Nome, Preço e Estoque.

O arquivo CSV poderia, por exemplo, parecer assim:
ID do Produto,Nome,Preço,Estoque 1,iPad,399,50 2,Nerfgun,29.99,100
Ler arquivo CSV
Para ler dados do arquivo produkte.csv, você precisará do módulo CSV. O módulo permite que você processe dados CSV de maneira eficiente. Você pode converter os dados em um formato legível usando with open(...). Isso evita o fechamento manual dos objetos de arquivo e torna seu código mais limpo e seguro.
No próximo passo, você cria um CSV-Reader. Com isso, você pode percorrer o arquivo linha por linha e extrair os dados:
with open('produkte.csv', newline='', encoding='utf-8') as csvfile: csvreader = csv.reader(csvfile) for row in csvreader: print(row)

Aqui, cada linha é lida como uma lista, o que mostra que os dados estão estruturados como esperado. Cada linha corresponde a um produto e contém informações sobre ID, Nome, Preço e Estoque.
Uso de Dicionários para um processamento de dados mais intuitivo
Para lidar com os dados de maneira mais simples e intuitiva, você deve usar o formato de dicionário. Com um Dictionary-Reader, você pode facilitar o acesso aos seus dados pelos nomes dos campos.

Aqui, você também precisa de with open(...), para abrir o arquivo e criar o CSV-Reader. Certifique-se de especificar uma lista dos campos que deseja ler:

Agora, você pode acessar facilmente os campos pelos nomes. Isso torna seu processamento muito mais acessível.
Escrever arquivo CSV
Para escrever seus próprios dados em um arquivo CSV, você pode usar um objeto Dictionary-Writer. Você tem a opção de criar uma lista de dicionários que representam seus dados.

Aqui está um exemplo simples de como você pode salvar uma lista de super-heróis como um arquivo CSV:
with open('superhelden.csv', 'w', newline='') as csvfile: fieldnames = ['Nome', 'Alias'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

O arquivo superhelden.csv será agora criado e conterá os dados dos super-heróis em um formato bem estruturado e legível.
Conclusão e aplicação prática
Os arquivos CSV são uma ferramenta valiosa para a troca de dados, frequentemente necessária na prática. Este guia fornece a você os fundamentos para processar arquivos CSV com Python. Você aprendeu como ler dados de arquivos CSV, processá-los em Python e escrever seus próprios dados no formato CSV.
Resumo - Processamento de arquivos CSV com Python
Os arquivos CSV são um formato importante para a troca de dados em muitas aplicações. Com Python, você pode trabalhar com esses arquivos de maneira eficiente e fácil. Uma vez que você compreenda os fundamentos, pode aplicar essas técnicas facilmente em aplicações de dados complexas.
Perguntas frequentes
Como abro um arquivo CSV em Python?Você pode abrir um arquivo CSV em Python com with open('nome_do_arquivo.csv', 'r'):.
Como posso escrever dados em um arquivo CSV?Para isso, você usa o objeto csv.writer ou csv.DictWriter para formatar os dados e escrevê-los no arquivo.
Qual é a diferença entre csv.reader e csv.DictReader?O csv.reader lê os dados como listas, enquanto o csv.DictReader fornece os dados como dicionários com nomes de campos como chaves.
Como posso definir o cabeçalho em um arquivo CSV?O cabeçalho pode ser especificado com writeheader() ao escrever um arquivo CSV através do Writer.
Como leio um arquivo CSV com nomes de campos personalizados?Passe uma lista dos nomes de campos desejados ao criar um csv.DictReader.