Tout au long de cet article, nous apprendrons à lire et à écrire dans un fichier CSV à l'aide du langage de programmation Go.
Golang Encoding / CSV
Pour gérer les fichiers CSV dans la programmation GO, nous utiliserons le package d'encodage / CSV. Il est livré avec des fonctions pour lire et écrire des fichiers CSV. Gardez à l'esprit qu'une nouvelle ligne représente un seul enregistrement dans un fichier CSV. Chaque ligne peut avoir un ou plusieurs champs sans tenir compte des caractères blancs.
Pour utiliser le package, nous pouvons l'importer comme:
Importer «Encoding / CSV»Nous pouvons maintenant procéder et apprendre à travailler avec les fichiers CSV dans Go.
Golang Lire CSV - ligne par ligne
Pour lire un fichier CSV à l'aide du package d'encodage / CSV, nous utilisons la méthode read (). Supposons que nous ayons un fichier appelé:
informations utilisateur.CSVLe fichier contient des informations sur les utilisateurs comme indiqué dans l'exemple d'instantané ci-dessous:
id, firstname, lastname, e-mail, email2, professionConsidérez l'exemple de code suivant:
package principalDécomposons le code précédent pour mieux comprendre comment cela fonctionne.
Nous commençons par importer les packages requis: codage / CSV, FMT, IO, journal et système d'exploitation. Le package FMT nous permet d'effectuer des opérations d'E / S. Le package de journal est utilisé pour enregistrer toutes les erreurs qui peuvent survenir dans le programme.
D'un autre côté, la méthode du package IO est utilisée pour spécifier l'IO.Interface de lecteur. Nous utilisons l'erreur EOF pour déterminer la fin d'un flux de données.
Enfin, nous avons le package OS. Dans notre exemple, nous utilisons ce package pour lire le fichier CSV.
Dans la fonction principale, nous commençons par ouvrir le fichier CSV pour la lecture à l'aide du système d'exploitation.Méthode Open (). Nous créons ensuite un nouveau lecteur en utilisant le CSV.Méthode newReader (). Cette méthode prend un IO.Type de lecteur.
L'étape suivante consiste à utiliser une boucle pour lire chaque enregistrement à partir du fichier CSV. Ensuite, nous vérifions si une erreur est rencontrée. S'il y a une erreur, y compris un EOF, nous cassons la boucle et enregistrons l'erreur.
La dernière étape consiste à itérer sur chaque enregistrement du fichier CSV et à renvoyer les valeurs.
Le code précédent doit renvoyer un exemple de sortie comme indiqué ci-dessous:
identifiantSi vous souhaitez lire le CSV en une seule fois, utilisez la méthode readall () au lieu de read ().
CSV avec délimiteur personnalisé
Parfois, vous pouvez rencontrer un fichier CSV qui n'utilise pas de virgules comme délimiteur. Bien que suivant le format d'un fichier CSV, les fichiers avec des délimiteurs personnalisés peuvent poser un défi lors de l'analyse.
Cependant, nous pouvons spécifier la virgule et le commentaire dans la programmation Go. Prenez l'exemple suivant du fichier CSV:
id; firstName; LastName; e-mail; email2; professionBien que le fichier suit un format similaire dans un fichier CSV, il utilise des demi-colons comme délimiteurs au lieu d'une virgule.
Pour analyser le fichier précédent en Go, nous pouvons exécuter le code comme indiqué ci-dessous:
package principalLe code précédent spécifie un délimiteur personnalisé à l'aide du lecteur.Virgule.
Si vous souhaitez supprimer les espaces principaux, vous pouvez définir la valeur:
lecteur. Trimleadingspace = trueGolang csv écriture
Pour écrire un enregistrement CSV dans le fichier, nous utilisons la fonction d'écriture. L'enregistrement est une tranche de valeurs de chaîne, chaque chaîne représentant un seul champ.
Remarque: Étant donné que ceux-ci sont tamponnés, vous devez appeler Flush pour vous assurer qu'il écrit l'enregistrement à l'écrivain original.
Considérez l'exemple ci-dessous:
package principalLe code précédent crée les fichiers CSV spécifiés et ajoute les enregistrements au fichier.
Si vous ne souhaitez pas appeler Flush manuellement, vous pouvez utiliser la méthode WriteAll (). Il appelle automatiquement la méthode Flush.
Conclusion
Ce guide explore comment travailler avec les fichiers CSV à l'aide du package GO Encoding / CSV. Nous espérons que vous avez trouvé cet article utile. Consultez d'autres articles sur les indices Linux pour en savoir plus sur les conseils.