Ao longo deste artigo, aprenderemos a ler e escrever em um arquivo CSV usando a linguagem de programação Go.
Golang Coding/CSV
Para lidar com os arquivos CSV na programação Go, usaremos o pacote de codificação/CSV. Ele vem repleto de funções para ler e escrever arquivos CSV. Lembre -se de uma nova linha representa um único registro em um arquivo CSV. Cada linha pode ter um ou mais campos desconsiderando qualquer espaço em branco.
Para usar o pacote, podemos importá -lo como:
importar “codificação/csv”Agora podemos prosseguir e aprender a trabalhar com os arquivos CSV em Go.
Golang leu CSV - linha por linha
Para ler um arquivo CSV usando o pacote de codificação/CSV, usamos o método read (). Vamos supor que tenhamos um arquivo chamado:
informação de usuário.CSVO arquivo contém informações sobre os usuários, conforme mostrado na amostra instantânea abaixo:
ID, primeiro nome, último nome, e -mail, email2, profissãoConsidere o seguinte código de exemplo:
Pacote principalVamos quebrar o código anterior para entender melhor como funciona.
Começamos importando os pacotes necessários: codificação/csv, fmt, io, log e os. O pacote FMT nos permite realizar operações de E/S. O pacote de log é usado para registrar quaisquer erros que possam ocorrer no programa.
Por outro lado, o método do pacote de IO é usado para especificar o IO.Interface do leitor. Usamos o erro EOF para determinar o final de um fluxo de dados.
Finalmente, temos o pacote do sistema operacional. Em nosso exemplo, usamos este pacote para ler o arquivo CSV.
Na função principal, começamos abrindo o arquivo CSV para leitura usando o sistema operacional.Método Open (). Em seguida, criamos um novo leitor usando o CSV.Método newReader (). Este método leva um IO.Tipo de leitor.
A próxima etapa envolve o uso de um loop para ler cada registro do arquivo CSV. Então, verificamos se algum erro é encontrado. Se houver algum erro, incluindo um EOF, quebramos o loop e registramos o erro.
O último passo é iterar em cada registro do arquivo CSV e retornar os valores.
O código anterior deve retornar uma saída de amostra como mostrado abaixo:
eu iaSe você quiser ler o CSV de uma só vez, use o método readall () em vez de read ().
CSV com delimitador personalizado
Às vezes, você pode encontrar um arquivo CSV que não usa vírgulas como delimitador. Embora seguindo o formato de um arquivo CSV, os arquivos com delimitadores personalizados podem representar um desafio ao analisar.
No entanto, podemos especificar a vírgula e o comentário na programação Go. Veja o seguinte exemplo do arquivo CSV:
Id; FirstName; LastName; email; email2; profissãoEmbora o arquivo siga um formato semelhante a um arquivo CSV, ele usa Semi-Colon como delimitadores em vez de uma vírgula.
Para analisar o arquivo anterior em Go, podemos executar o código como mostrado abaixo:
Pacote principalO código anterior especifica um delimitador personalizado usando o leitor.Vírgula.
Se você deseja remover os espaços principais, pode definir o valor:
leitor. Trimleadingspace = trueGolang CSV Escreva
Para escrever um registro CSV no arquivo, usamos a função de gravação. O registro é uma fatia de valores de string, com cada string representando um único campo.
Nota: Como estes são bobes, você deve ligar para Flush para garantir que ele grava o registro no escritor original.
Considere o exemplo abaixo:
Pacote principalO código anterior cria os arquivos CSV especificados e adiciona os registros ao arquivo.
Se você não quiser ligar para o Flush Manualmente, pode usar o método writeAll (). Ele chama o método de descarga automaticamente.
Conclusão
Este guia explora como trabalhar com arquivos CSV usando o pacote Go Coding/CSV. Esperamos que você tenha achado este artigo útil. Confira outros artigos de dica do Linux para aprender mais dicas.