Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Como ler o arquivo CSV em Python. Leitura e gravação de arquivos CSV

O que é um arquivo CSV?


Um 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 em que 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. Os arquivos CSV serão abertos no Excel e quase todos os bancos de dados possuem uma ferramenta para permitir a importação de arquivos CSV.

Neste tutorial, você aprenderá:

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 das 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 pelo Python.

Considere a seguinte tabela

Dados da tabela

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

Você pode representar esta tabela em csv como abaixo.

Dados CSV


Linguagem de programação, Desenhado 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 de como um arquivo CSV se parece.

Baixar dados CSV

Módulo CSV Python


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:

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.

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

A função de leitura é 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 da variável.

Parece muito mais complexo do que é. Vamos dar uma olhada neste código Python para ler o arquivo CSV e descobriremos que trabalhar com o 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)

Etapa 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 os 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 essa maneira de ler dados do arquivo CSV é muito mais fácil do que o método anterior. No entanto, essa 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 writer(). Para iterar os dados nas linhas (linhas), você deve usar a função writerow().

Considere o exemplo a seguir. Gravamos 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


Ler arquivo CSV usando Pandas


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

Você deve instalar a biblioteca pandas com o comando pip install pandas. No 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 exemplo lido do CSV Pandas:
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. Os pandas sabem que a primeira linha do CSV continha nomes de colunas e os usará automaticamente.

Gravar arquivo CSV usando Pandas


Gravar em arquivo CSV com Pandas é tão fácil quanto ler. Aqui você pode convencer nele. Primeiro, você deve criar o DataFrame com base na seguinte gravação do Python 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á a saída
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.


Conclusão


Então, agora você sabe como usar o método 'csv' e também ler e gravar dados no formato CSV. Os arquivos CSV são amplamente usados ​​em aplicativos de software porque são fáceis de ler e gerenciar, e seu tamanho pequeno os torna relativamente rápidos para processamento e transmissão.

O módulo csv fornece várias funções e classes que permitem ler e escrever facilmente. Você pode dar uma olhada na documentação oficial do Python e encontrar algumas dicas e módulos mais interessantes. CSV é a melhor maneira de salvar, visualizar e enviar dados. Na verdade, não é tão difícil aprender como parece no começo. Mas com um pouco de prática, você vai dominá-lo.

Pandas é uma ótima alternativa para ler arquivos CSV.

Além disso, existem outras maneiras de analisar arquivos de texto com bibliotecas como ANTLR, PLY e PlyPlus. Todos eles podem lidar com análise pesada e, se a manipulação simples de String não funcionar, existem expressões regulares que você pode usar.

python

  1. Palavras-chave e identificadores do Python
  2. Declaração Python, Recuo e Comentários
  3. Variáveis, constantes e literais do Python
  4. Conversão de tipo Python e conversão de tipo
  5. Entrada, Saída e Importação do Python
  6. Variáveis ​​globais, locais e não locais do Python
  7. E/S de arquivo Python
  8. Gerenciamento de diretórios e arquivos Python
  9. Erros do Python e exceções incorporadas
  10. Como obter data e hora atuais em Python?