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?
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.
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')])
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
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.




