O módulo csv é útil para trabalhar com dados exportados de planilhas e bancos de dados em arquivos de texto formatados com campos e registros, comumente referido como formato de valores separados por vírgula (CSV) porque vírgulas são frequentemente usadas para separar os campos em um registro.

Ler arquivos CSV usando Python é o que você aprenderá neste artigo. Os dados do arquivo contêm valores separados por vírgula (csv). A vírgula é conhecida como delimitador e pode ser outro caractere, como um ponto e vírgula.



Métodos Python CSV

A tabela a seguir mostra os métodos csv do Python:

Método

Descrição

csv.reader()

retorna um objeto leitor que itera sobre as linhas de um arquivo CSV

csv.writer()

retorna um objeto de gravação que grava dados em um arquivo CSV

csv.register_dialect()

registra um dialeto CSV

csv.unregister_dialect()

cancela o registro de um dialeto CSV

csv.get_dialect()

retorna um dialeto com o nome dado

csv.list_dialects()

retorna todos os dialetos registrados

csv.field_size_limit()

retorna todos os dialetos registrados retorna o tamanho de campo máximo permitido pelo analisador



Como Ler / Acessar arquivo CSV

Usaremos o exemplo abaixo e criaremos um arquivo csv com os mesmos dados.
Abra seu editor de texto e crie um novo arquivo com a extensão .csv, e copie os valores do exemplo acima para este arquivo que acabamos de criar.

id , produto , categoria , quantidade,preço , adicionado_em
1 , feijão , comida , 20,100 , 01-01-2020
2 , arroz , comida , 20,150 , 01-02-2020
3 , cebola , comida , 20,120 , 01-01-2020
4 , cerveja , bebida , 20,160 , 01-04-2020
5 , suco , bebida , 20,170 , 01-04-2020
6 , leite , bebida , 20,120 , 01-05-2020

O método mais básico para ler / acessar um arquivo csv é usando o csv.reader():



import csv aqui importamos o módulo CSV.

with open('file.csv') as file: Aqui abrimos o arquivo csv que queremos ler, especificando o local onde ele está.

ler_csv = csv.reader(file) Aqui estamos lendo o arquivo CSV, e passa-la para essa variavel.

Lemos todas as linhas do arquivo. Cada linha é retornada como uma lista e pode ser acessada como tal.

E se executarmos o script, obteremos a seguinte saída:


No exemplo acima, estamos usando a função csv.reader () no modo padrão para arquivos CSV com delimitador de vírgula.

Suponha que nosso arquivo CSV estava usando / como um delimitador. Para ler esses arquivos, podemos passar parâmetros opcionais para a função csv.reader ().

Crie um novo ficheiro CSV e usa o seguinte dados:

id / produto / categoria / quantidade/preço / adicionado_em
1 / feijão, comida / 20,100 / 01-01-2020
2 / arroz / comida / 20,150 / 01-02-2020
3 / cebola/ comida / 20,120 / 01-01-2020
4 / cerveja , bebida/ 20,160 / 01-04-2020
5 / suco / bebida / 20,170 / 01-04-2020
6 / leite / bebida / 20,120 / 01-05-2020


Tente imprimir sem usar o delimitador, e você verá que sua lista será retornada de uma forma diferente, o que não é correto.


Como ler arquivo CSV como dicionário

Também podemos ler um arquivo csv como um dicionário em python, usando apenas o csv.DictReader. As chaves do dicionário serão a primeira linha do arquivo CSV.


E se executarmos o script, obteremos a seguinte saída:


Como escrever em arquivos CSV

Para escrever em um arquivo CSV em Python, podemos usar a função csv.writer ().

Os argumentos

r Abrir arquivo para leitura

w Abre o arquivo para gravação (irá truncar o arquivo)

b binário mais

r+ abrir arquivo para leitura e escrita

a+ abrir arquivo para leitura e gravação (anexa ao final)

w+ abre arquivo para leitura e gravação (trunca arquivos)


Quando executamos o programa acima, um arquivo file_1.csv é criado e, se existir, seu conteúdo será excluído e um novo conteúdo será adicionado.