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.