Como ler arquivo CSV em Python (Módulo, Exemplos de Pandas)

⚡ Resumo Inteligente

Um arquivo CSV armazena dados tabulares como texto simples, com vírgulas separando as colunas e novas linhas separando as linhas. Aqui você aprenderá a ler e escrever arquivos CSV em Python utilizando o módulo csv integrado e a biblioteca pandas.

  • 📄 O que é: Um arquivo CSV armazena dados tabulares como texto simples separado por vírgulas.
  • 📖 leitor de csv: A função `csv.reader()` lê linhas de um arquivo CSV como listas.
  • 📚 Leitor de dicionário: csv.DictReader() lê cada linha e a armazena em um dicionário ordenado.
  • ✍️ escritor csv: As funções csv.writer() e writerow() escrevem linhas em um arquivo CSV.
  • ???? Pandas: As funções `pandas.read_csv()` e `to_csv()` leem e escrevem arquivos CSV em uma única linha.
  • 🤖 Ajuda da IA: Ferramentas de IA como o Copilot geram arquivos CSV, leem e escrevem código instantaneamente.

Ler arquivo CSV em Python

O que é um arquivo CSV?

A arquivo CSV é um tipo simples de arquivo de texto simples que usa uma estrutura específica para organizar dados tabulares. O formato padrão de um arquivo CSV é definido por dados de linhas e colunas, onde uma nova linha termina cada linha para iniciar a próxima linha e cada coluna é separada por uma vírgula dentro da linha.

CSV é um formato comum para intercâmbio de dados, pois é compacto, simples e geral. Muitos serviços online permitem que seus usuários exportem dados tabulares do site para um arquivo CSV. Arquivos CSV serão abertos no Excel e quase todos os bancos de dados possuem uma ferramenta que permite a importação de arquivos CSV.

Arquivo de amostra CSV

Os dados na forma de tabelas também são chamados de CSV (valores separados por vírgula) – literalmente “valores separados por vírgula”. Este é um formato de texto destinado à apresentação de dados tabulares. Cada linha do arquivo é uma linha da tabela. Os valores de colunas individuais são separados por um símbolo separador – uma vírgula (,), um ponto e vírgula (;) ou outro símbolo. CSV pode ser facilmente lido e processado por Python.

Considere a seguinte tabela

Tabela de dados

Linguagem de programação Projetado por Apareceu Extensão
Python Guido van Rossum 1991 .py
Java James Goslin 1995 .Java
C++ Bjarne Stroustrup 1983 .cpp

Você pode representar esta tabela em csv conforme abaixo.

Dados CSV

Linguagem de programação, projetada por, apareceu, extensão

Python, Guido van Rossum, 1991, .py

Java, James Gosling, 1995, .java

C++, Bjarne Stroustrup,1983,.cpp

Como você pode ver, cada linha é uma nova linha e cada coluna é separada por uma vírgula. Este é um exemplo da aparência de um arquivo CSV.

Baixar dados CSV

Python Módulo CSV

Python fornece um módulo CSV para lidar com arquivos CSV. Para ler/gravar dados, você precisa percorrer as linhas do CSV. Você precisa usar o método split para obter dados de colunas especificadas.

Funções do módulo CSV

Na documentação do módulo CSV você pode encontrar as seguintes funções:

  • csv.field_size_limit – retorna o tamanho máximo do campo
  • csv.get_dialect – obtém o dialeto associado ao nome
  • csv.list_dialects – mostra todos os dialetos registrados
  • csv.reader – lê dados de um arquivo csv
  • csv.register_dialect – associa dialeto ao nome
  • csv.writer – grava dados em um arquivo csv
  • csv.unregister_dialect – exclui o dialeto associado ao nome do registro do dialeto
  • csv.QUOTE_ALL – Cite tudo, independente do tipo.
  • csv.QUOTE_MINIMAL – Campos de cotação com caracteres especiais
  • csv.QUOTE_NONNUMERIC – Cite todos os campos que não são valores numéricos
  • csv.QUOTE_NONE – Não cite nada na saída

Neste tutorial, vamos nos concentrar apenas nas funções de leitor e gravador que permitem editar, modificar e manipular os dados em um arquivo CSV.

Como ler um arquivo CSV em Python

Abaixo estão as etapas para ler o arquivo CSV em Python.

Passo 1) Para ler dados de arquivos CSV, você deve usar a função leitor para gerar um objeto leitor.

A função de leitor é desenvolvida para pegar cada linha do arquivo e fazer uma lista de todas as colunas. Em seguida, você deve escolher a coluna para a qual deseja os dados variáveis.

Parece muito mais complexo do que é. Vamos dar uma olhada nisso Python código para ler o arquivo CSV, e descobriremos que trabalhar com arquivo csv não é tão difícil.

#import necessary modules
import csv
with open('X:\data.csv','rt')as f:
  data = csv.reader(f)
  for row in data:
        print(row)

Passo 2) Ao executar o programa acima, a saída será:

['Programming language; Designed by; Appeared; Extension']
['Python; Guido van Rossum; 1991; .py']
['Java; James Gosling; 1995; .java']
['C++; Bjarne Stroustrup;1983;.cpp']

Como ler um arquivo CSV em um dicionário em Python

Você também pode usar o DictReader para ler arquivos CSV. Os resultados são interpretados como um dicionário onde a linha do cabeçalho é a chave e as outras linhas são valores.

Considere o seguinte código

#import necessary modules
import csv

reader = csv.DictReader(open("file2.csv"))
for raw in reader:
    print(raw)

O resultado deste código é:

OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')])
OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')])
OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])

Ler um arquivo CSV em um dicionário

E esta forma de ler dados do arquivo CSV é muito mais fácil do que o método anterior. No entanto, esta não é a melhor maneira de ler dados.

Como escrever um arquivo CSV em Python

Aqui está como escrever um arquivo CSV em Python:

Quando você tem um conjunto de dados que gostaria de armazenar em um arquivo CSV, você deve usar a função escritor(). Para iterar os dados nas linhas (linhas), você deve usar a função writerow().

Considere o seguinte exemplo. Escrevemos os dados em um arquivo “writeData.csv” onde o delimitador é um apóstrofo.

#import necessary modules
import csv

with open('X:\writeData.csv', mode='w') as file:
    writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

    #way to write to csv file
    writer.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension'])
    writer.writerow(['Python', 'Guido van Rossum', '1991', '.py'])
    writer.writerow(['Java', 'James Gosling', '1995', '.java'])
    writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])

O resultado no arquivo csv é:

Programming language, Designed by, Appeared, Extension 
Python, Guido van Rossum, 1991, .py
Java, James Gosling, 1995, .java
C++, Bjarne Stroustrup,1983,.cpp

escrever arquivo CSV em Python

Leia o arquivo CSV usando Pandas

Pandas é uma biblioteca de código aberto que permite importar CSV em Python e realizar manipulação de dados. Pandas fornece uma maneira fácil de criar, manipular e excluir dados.

Você deve instalar a biblioteca pandas com o comando pip install pandas . Em Windows, você executará este comando no prompt de comando enquanto estiver no Linux no Terminal.

Ler o CSV em um DataFrame do pandas é muito rápido e fácil:

#import necessary modules
import pandas
result = pandas.read_csv('X:\data.csv')
print(result)

Resultado do leia CSV Pandas exemplo:

Programming language, Designed by, Appeared, Extension 
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Biblioteca muito útil. Em apenas três linhas de código você obtém o mesmo resultado anterior. O Pandas sabe que a primeira linha do CSV contém nomes de colunas e os usará automaticamente.

Escreva um arquivo CSV usando Pandas

Escrever em um arquivo CSV com Pandas é tão fácil quanto ler. Aqui você pode se convencer disso. Primeiro você deve criar DataFrame com base no seguinte Python escreva no código CSV.

from pandas import DataFrame
C = {'Programming language': ['Python','Java', 'C++'],
        'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
        'Appeared': ['1991', '1995', '1985'],
        'Extension': ['.py', '.java', '.cpp'],
    }
df = DataFrame(C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension'])
export_csv = df.to_csv (r'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be stored
print (df)

Aqui está o resultado

Programming language, Designed by, Appeared, Extension
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

E o arquivo CSV é criado no local especificado.

Escreva um arquivo CSV usando Pandas

Perguntas Frequentes

Um arquivo CSV (valores separados por vírgula) é um arquivo de texto simples que armazena dados tabulares. Cada linha representa uma coluna, e as vírgulas separam os valores em cada coluna.

Importe o módulo csv, abra o arquivo e passe-o para csv.reader() para percorrer as linhas como listas. Como alternativa, use csv.DictReader() para ler cada linha como um dicionário.

Abra um arquivo em modo de escrita, crie um objeto `csv.writer()` e chame `writerow()` para cada linha ou `writerows()` para várias linhas. O objeto `writer` lida com aspas e delimitadores automaticamente.

O método `csv.DictReader()` lê um arquivo CSV e o armazena em dicionários ordenados, usando a linha de cabeçalho como chave. Isso permite acessar cada valor pelo nome da coluna em vez do índice.

Chame o método `pandas.read_csv('file.csv')`, que carrega o arquivo CSV em um DataFrame em uma única linha. O Pandas usa automaticamente a primeira linha como cabeçalhos de coluna.

Assistentes de IA como o GitHub Copilot completam automaticamente arquivos CSV e fazem chamadas ao pandas, geram loops de leitura e gravação e sugerem o delimitador ou a opção de citação correta a partir de uma breve descrição.

Sim. Ferramentas com inteligência artificial podem automatizar a análise, limpeza e conversão de dados CSV, gerar pipelines do pandas e adicionar tratamento de erros para linhas malformadas ou colunas ausentes.

Use o módulo CSV integrado para leitura e gravação simples e leve. Escolha o pandas quando precisar filtrar, transformar ou analisar grandes conjuntos de dados CSV com eficiência.

Resuma esta postagem com: