Manipulação de arquivos CSV em Python

Manipulação de arquivos CSV em Python
Neste tópico, vamos aprender a ler e escrever arquivos CSV no Python.

Definição: CSV (valor separado por vírgula) é semelhante a um arquivo de texto onde os dados armazenados são separados por algum delimitador (geralmente uma vírgula). Cada campo é separado por um delimitador. No Python, os arquivos CSV são processados ​​usando o módulo CSV. Então, temos que importar este módulo.

Ex: importar CSV

O exemplo abaixo mostra a maneira como os dados são armazenados em um arquivo CSV. Aqui, uma vírgula é usada como delimitador.

Nome do arquivo: Person_info.CSV
primeiro nome, nome do meio, sobrenome, idade
Anand, Kumar, Matemática, 31
Sachin, Ramesh, Tendulakar, 40
Virendra, Sehwag, Singh, 38
Rahul, Dravid, XYZ, 40

O arquivo CSV pode ser aberto em qualquer um dos seguintes modos:
R -> Modo de leitura
W -> Modo de gravação
A -> Modo Anexo

No Python, uma operação de arquivo é realizada na seguinte ordem:

  • Abra um arquivo;
  • Leia, escreva ou anexa. Quando especificarmos o modo de gravação, o arquivo será aberto no modo de gravação se o arquivo existir; caso contrário, ele criará um arquivo. Isso também é aplicável ao modo de anexo. No modo de leitura, se existir um arquivo, ele abrirá o arquivo no modo de leitura; caso contrário, lança a exceção do FileNotFoundError; e
  • Feche o arquivo.

Abra um arquivo CSV

O método embutido aberto () é usado.

Ex:

  • f = aberto (“nome do arquivo.CSV ”," R ") # no padrão CSV Python é o modo de leitura
  • f = aberto (“nome do arquivo.CSV ”, 'W') # Modo de gravação

Fechando um arquivo

Método embutido Close () é usado.

fp = aberto ("nome do arquivo.CSV ", 'W')
# Execute algumas operações de arquivo
fp.fechar()

Operações de arquivo usando com

A melhor maneira de executar a operação de arquivo CSV e o método mais comumente usado é com a declaração. Usar isso garante que o arquivo seja fechado quando o bloco interno é excitado.

Ex:

com open ('nome do arquivo.csv ',' w ', coding =' utf-8 ') como fp:
#Performa algumas operações de arquivo
#estatamentos fora do bloco

Quando saímos com o bloco, o arquivo será fechado automaticamente.

Escreva em um arquivo CSV

Para escrever em um arquivo CSV, precisamos abri -lo no modo Write 'W' ou Append 'A'.

No exemplo abaixo, vamos ler de um arquivo e gravar em um novo arquivo.

importar CSV
com open ('nome do arquivo.csv ',' r ') como fp:
leitor = csv.LEITOR (FP) Arquivo #Read
com open ('newfileName.CSV ',' W ') como FQ:
Writer = CSV.escritor (fq, delimiter = '-')
para linha no leitor: #to iterrate sobre cada linha
escritor.Writerw (Line)#Linha de escrita para novo arquivo

Usando escritor de dicionário

No exemplo abaixo, vamos ler de um arquivo e gravar em um novo arquivo usando o método dictwriter ().

importar CSV
com open ('nome do arquivo.csv ',' r ') como fp:
leitor = csv.DiCtreader (FP) #Read File
com open ('newfileName.csv ',' w ', newline = ") como fq: #newline =" para evitar adicionar nova linha extra
row_names = ['primeiro nome', 'Nome do meio', 'Sobrenome', 'Age']
Writer = CSV.Dictwriter (fq, fieldnames = row_names, delimiter = '-')
escritor.writeHeader ()#Escreva linhas de título
para linha no leitor:
escritor.Writertow (linha)

Writerws ()

Este método grava várias linhas por vez; Precisamos passar uma lista de listas. Ex:

importar CSV
head_names = ['primeiro nome', 'nome do meio', 'Sobrenome', 'Age']
# linhas de dados do arquivo CSV
linhas = [['Anand', 'Kumar', 'Math', 31],
['Sachin', 'Ramesh', 'tendulakar', 40],
['Virendra', 'Sehwag', 'Singh', 38],
['Rahul', 'dravid', 'xyz', 40]]
# escrevendo no arquivo CSV
com open ('newfileName.CSV ',' W ') como FP:
# Criando um objeto de escritor CSV
csvwriter = csv.escritor (FP)
# Escreva o título
CSVWriter.Writertow (Head_Names)
# Escreva as linhas de dados
CSVWriter.Writerws (linhas)

Leitura do arquivo

Para ler o arquivo CSV em Python, devemos abrir o arquivo no modo de leitura 'r'. Ex:

importar CSV
com open ('nome do arquivo.csv ',' r ') como fp:
Dados = CSV.Leitor (FP)
#Default Delimiter é vírgula, se o CSV separado por outro delimitador precisar especificar
#Ex dados = csv.leitor (fp, delimiter = '-')
Imprimir (dados) # objeto de retorno
#skipping o cabeçalho
Próximo (dados) #Call Próximo método do gerador
Para linha em dados: #to iterrate em cada linha
Imprimir (linha) # Imprima cada valor em uma lista
fp.procure (0)# traga cursor para a primeira linha
para linha em dados:
Imprimir (linha [0])# Imprimir apenas os primeiros nomes

Usando o leitor de dicionário

Para ler o arquivo CSV usando o método dictreader ().

importar CSV
com open ('nome do arquivo.csv ',' r ') como fp:
leitor = csv.DiCtreader (FP) #Read File
para linha no leitor:
Imprimir (linha) #Print cada linha na forma de ditinário
fp.procure (0)# traga cursor para a primeira linha
Para dados no leitor:
Imprimir (Data ['Age'])#podemos imprimir apenas a idade usando a tecla 'Age'

Conclusão

Aprendemos a ler e escrever um arquivo usando o módulo CSV. O arquivo CSV é o formato de arquivo mais usado no setor de automação, porque é fácil de ler e modificar os dados. Além disso, os pandas são outro método que podemos usar para processar arquivos CSV.