Como ler, escrever e analisar CSV em Python
- 1575
- 471
- Maurice Champlin
Você já precisou trocar informações entre os programas, exceto usando as variáveis? Você já pensou ou sentiu a necessidade de ter um arquivo de texto para trocar dados entre os programas? Você sabe sobre a idéia de armazenar dados/informações em um arquivo externo e extraí -lo posteriormente quando necessário? Sim, podemos armazenar e transferir dados entre os programas usando o formato de arquivo conhecido como CSV.
O que é um arquivo CSV?
Um arquivo CSV é um tipo de arquivo usado para armazenar dados em um formulário de tabular estruturado (linha/coluna). É um arquivo de texto simples e como o nome indica que armazena valores separados por uma vírgula.
Neste post, teremos uma discussão detalhada sobre leitura, escrita e análise de um arquivo CSV em Python.
Origem do arquivo CSV
O conceito de ter um arquivo CSV veio da necessidade de exportar grandes quantidades de dados de um lugar para outro (programas). Por exemplo, importar dados de grandes planilhas e exportá -los para algum banco de dados. Da mesma forma, podemos exportar grandes quantidades de dados para os programas.
Diferentes linguagens usam formatos diferentes para armazenar dados, portanto, quando os programadores precisam exportar dados de um programa para outro, eles sentiram a necessidade de ter um tipo de tipo de arquivo universal usando que podemos transferir grandes quantidades de dados; Um tipo de arquivo que qualquer programa pode ler e analisar em seu próprio formato.
Entenda a estrutura de um arquivo CSV
A estrutura do arquivo CSV será algo assim:
Coluna 1, coluna 2, coluna 3 Valor 1, valor 2, valor 3…,…,……
Assim como temos colunas e linhas no banco de dados:
Ou em dados de planilha tabular:
Da mesma forma, um arquivo CSV é um tipo de arquivo de texto simples no qual os dados são armazenados na forma de peças separadas por uma vírgula:
Cada coluna é separada por uma vírgula e cada linha está em uma nova linha.
Tudo bem, depois de entender o conceito, origem e estrutura principal do arquivo CSV, vamos aprender a ler, escrever e analisar CSV no Python.
Lendo um arquivo CSV em Python
Para analisar os arquivos CSV, felizmente, temos uma biblioteca CSV embutida fornecida pela Python. A biblioteca CSV é realmente fácil de usar e pode ser usada para ler e escrever em um arquivo CSV. Vamos começar lendo um arquivo CSV.
Para ler um arquivo CSV, o objeto do leitor será usado. Vamos começar a escrever o código para ler o arquivo CSV e entendê-lo em um procedimento passo a passo:
Lendo um arquivo CSV com o delimitador padrão (vírgula)
Primeiro de tudo, temos que importar o módulo CSV:
importar CSV
Depois de importar o módulo CSV, agora podemos usá -lo em nosso programa Python.
Em seguida, temos que abrir o arquivo CSV usando a função Open () no modo de leitura:
Com o Open ('alunos.csv ',' r ') como csvfile
Depois de ler o arquivo CSV, crie um objeto CSV Reader:
csvReader = csv.Leitor (CSVFile)
Como vírgula é o delimitador padrão, por isso não precisamos mencionar especificamente. Caso contrário, temos que fornecer o delimitador usado pelo arquivo CSV.
Finalmente para extrair cada linha, use o loop for para iterar sobre o CSVReader Objeta e imprimi -los:
Para o aluno em CSVReader: Print (Student)
Em suma, o código final ficará assim:
importar CSV com o Open ('alunos.csv ',' r ') como csvfile csvReader = csv.LEITOR (CSVFILE) para aluno no CSVReader: Print (Student)12345 | importar csvwith open ('alunos.csv ',' r ') como csvfile csvReader = csv.LEITOR (CSVFILE) para aluno no CSVReader: Print (Student) |
Depois que todo o código for escrito, execute o código e você terá todo o arquivo CSV analisado na matriz de Python:
Lendo um arquivo CSV com um delimitador personalizado
Para ler um arquivo CSV com um delimitador personalizado, só precisamos mencionar o delimitador enquanto lê e criando um objeto de leitor de CSV.
Por exemplo, se colocarmos um ponto de vírgula (;) no local de uma vírgula nos estudantes.CSV:
E deseja ler o arquivo CSV com base no ponto e vírgula, então o delimitador seria mencionado como:
csvReader = csv.leitor (csvfile, delimiter = ';')
O código final com o delimitador específico ficará assim:
importar CSV com o Open ('alunos.csv ',' r ') como csvfile csvReader = csv.leitor (csvfile, delimiter = ';') para o aluno no csvreader: print (aluno)12345 | importar csvwith open ('alunos.csv ',' r ') como csvfile csvReader = csv.leitor (csvfile, delimiter = ';') para o aluno no csvreader: print (aluno) |
A saída será a mesma que temos no exemplo anterior:
É assim que podemos fornecer um delimitador personalizado e ler o arquivo CSV no Python. Agora, vamos aprender a escrever um arquivo CSV no Python.
Escrevendo um arquivo CSV em Python
Para escrever um arquivo CSV, o objeto do escritor será usado. Pode haver duas maneiras de escrever um arquivo CSV:
- Escreva as linhas um por um usando a função writerw ()
- Escreva várias linhas usando a função Writerlows ()
Vamos começar a escrever o código para escrever o arquivo CSV e entender melhor os dois lados:
Como escrever um arquivo CSV usando a função writerw () no python
Usando isso Writerw ()
função, só podemos escrever uma linha de cada vez em um arquivo CSV.
Por exemplo, para escrever três linhas em um novo funcionário.Arquivo CSV, o Python vai assim:
importar CSV com o Open ('funcionários.CSV ',' W ') como CSVFile: Writer = CSV.escritor (CSVFile) escritor.Writertow (["id", "nome", "idade"]) escritor.Writerw ([1, "John", 35]) escritor.Writerw ([2, "Harry", 25])123456 | importar csvwith open ('funcionários.CSV ',' W ') como CSVFile: Writer = CSV.escritor (CSVFile) escritor.Writertow (["id", "nome", "idade"]) escritor.Writerw ([1, "John", 35]) escritor.Writerw ([2, "Harry", 25]) |
O código acima criará um arquivo com o nome dos funcionários.CSV e adicione três linhas a esses funcionários.Arquivo CSV.
No entanto, esse método fica ineficiente, quando precisamos adicionar centenas de linhas. Nesses casos, temos que adicionar cada linha uma a uma, que se torna um trabalho agitado. Para resolver esse problema, o Python também fornece um Writerws ()
função para escrever inúmeras linhas em um arquivo CSV simultaneamente.
Escreva várias linhas usando a função Writerlows ()
Usando o Writerws () Função, podemos simplesmente fornecer uma matriz de matrizes (linhas) à função Writerlows () e adicionará todas as linhas ao arquivo CSV.
Por exemplo, para escrever três linhas em funcionários.Arquivo CSV, primeiro criamos uma matriz com o nome de "funcionários.CSV ” que contém linhas na forma de elementos da matriz e depois fornece o "funcionários.CSV ” Array para a função Writerws ().
Em suma, o Python vai assim:
Importar CSV Funcionários_CSV = [["ID", "Nome", "Age"], [1, "John", 35], [2, "Harry", 25] com Open ('Funcionários.CSV ',' W ') como CSVFile: Writer = CSV.escritor (CSVFile) escritor.Writerow (funcionários.CSV)12345 | importar csvemployees_csv = [["id", "nome", "idade"], [1, "John", 35], [2, "Harry", 25]] com o Open ('funcionários.CSV ',' W ') como CSVFile: Writer = CSV.escritor (CSVFile) escritor.Writerow (funcionários.CSV) |
O código acima criará um arquivo com o nome dos funcionários.CSV e adicione três linhas a esses funcionários.Arquivo CSV, o mesmo que para o procedimento anterior.
Ao usar esse método, você pode adicionar milhares de linhas ao arquivo CSV em nenhum momento, fornecendo os dados na forma de matrizes.
Conclusão
O CSV é um formato de dados usado para armazenar dados em um formato tabular e transferi -los entre diferentes aplicativos. O Python possui um módulo embutido que permite que o código leia, escreva e analise os dados do CSV no código Python.
Nesta postagem, aprendemos a ler e escrever dados na forma de um arquivo CSV usando Python.
- « Funções Python - Definição com exemplos
- Como verificar a versão do sistema operacional com a linha de comando Linux »