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. Em Python, os arquivos CSV são processados usando o módulo CSV. Então, temos que importar este módulo.
Ex: import csv
O exemplo abaixo mostra 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 escrita
a -> modo anexar
Em Python, uma operação de arquivo é realizada na seguinte ordem:
- Abra um arquivo;
- Leia, escreva ou anexe. Quando especificamos 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 para o modo anexar. No modo de leitura, se um arquivo existir, ele abrirá o arquivo no modo de leitura; caso contrário, ele lançará a exceção FileNotFoundError; e
- Feche o arquivo.
Abra um arquivo csv
O método embutido open () é usado.
Ex:
- f = open (“nome do arquivo.csv ”,” r ”) # Em csv python o padrão é o modo de leitura
- f = open (“nome do arquivo.csv ”, 'w') # modo de escrita
Fechando um arquivo
O método embutido close () é usado.
fp = open ("nome do arquivo.csv ", 'w')# executa algumas operações de arquivo
fp.perto()
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 instrução. Usar isso garante que o arquivo seja fechado quando o bloco dentro com for encerrado.
Ex:
com aberto ('nome do arquivo.csv ',' w ', codificação =' utf-8 ') como fp:#fazer algumas operações de arquivo
# declarações fora do bloco com
Quando saímos com o bloco, o arquivo será fechado automaticamente.
Grave em um arquivo CSV
Para escrever em um arquivo CSV, precisamos abri-lo no modo write 'w' ou anexar o modo 'a'.
No exemplo abaixo, vamos ler de um arquivo e gravar em um novo arquivo.
importar csvcom aberto ('nome do arquivo.csv ',' r ') como fp:
leitor = csv.leitor (fp) #read arquivo
com open ('newfilename.csv ',' w ') como fq:
escritor = csv.escritor (fq, delimitador = '-')
para linha no leitor: # Para iterar sobre cada linha
escritor.writerow (linha) #write linha para novo arquivo
Usando o escritor de dicionário
No exemplo a seguir, vamos ler de um arquivo e gravar em um novo arquivo usando o método DictWriter ().
importar csvcom aberto ('nome do arquivo.csv ',' r ') como fp:
leitor = csv.DictReader (fp) #read file
com open ('newfilename.csv ',' w ', newline = ") as fq: #newline =" para evitar adicionar nova linha extra
row_names = ['primeiro nome', 'nome do meio', 'sobrenome', 'idade']
escritor = csv.DictWriter (fq, fieldnames = row_names, delimiter = '-')
escritor.writeheader () # escreve linhas de título
para linha no leitor:
escritor.escritorow (linha)
Escritores ()
Este método grava várias linhas de uma vez; precisamos passar uma lista de listas. Ex:
importar csvhead_names = ['primeiro nome', 'nome do meio', 'sobrenome', 'idade']
# linhas de dados do arquivo csv
linhas = [['Anand', 'kumar', 'matemática', 31],
['Sachin', 'ramesh', 'tendulakar', 40],
['Virendra', 'sehwag', 'singh', 38],
['Rahul', 'dravid', 'xyz', 40]]
# gravando em arquivo csv
com open ('newfilename.csv ',' w ') como fp:
# criar um objeto de escritor csv
csvwriter = csv.escritor (fp)
# escreva o título
csvwriter.escritor (head_names)
# escrever as linhas de dados
csvwriter.escritor (linhas)
Lendo do arquivo
Para ler o arquivo CSV em Python, devemos abrir o arquivo no modo de leitura 'r'. Ex:
importar csvcom aberto ('nome do arquivo.csv ',' r ') como fp:
dados = csv.leitor (fp)
#default delimiter é vírgula, se csv separado por outro delimitador precisa especificar
#Ex data = csv.leitor (fp, delimitador = '-')
imprimir (dados) # retornar objeto
#skipping the header
próximo (dados) #call próximo método do gerador
para linha nos dados: # Para iterar sobre cada linha
imprimir (linha) # imprimir cada valor em uma lista
fp.buscar (0) # trazer o cursor para a primeira linha
para linha de dados:
imprimir (linha [0]) # imprimir apenas os primeiros nomes
Usando leitor de dicionário
Para ler o arquivo csv usando o método DictReader ().
importar csvcom aberto ('nome do arquivo.csv ',' r ') como fp:
leitor = csv.DictReader (fp) #read file
para linha no leitor:
print (line) #print cada linha na forma de dicionário
fp.buscar (0) # trazer o cursor para a primeira linha
para dados no leitor:
print (data ['age']) # podemos imprimir apenas a idade usando a tecla 'age'
Conclusão
Aprendemos como ler e escrever um arquivo usando o módulo CSV. O arquivo CSV é o formato de arquivo mais comumente usado na indústria de automação porque é fácil de ler e modificar os dados. Além disso, o Pandas é outro método que podemos usar para processar arquivos CSV.