GNU/Linux >> Tutoriels Linux >  >> Linux

Outil de ligne de commande robuste pour le traitement des fichiers CSV ?

Je travaille avec des fichiers CSV et j'ai parfois besoin de vérifier rapidement le contenu d'une ligne ou d'une colonne à partir de la ligne de commande. Dans de nombreux cas, cut , head , tail , et les amis feront le travail ; cependant, la coupe ne peut pas facilement gérer des situations telles que

"this, is the first entry", this is the second, 34.5

Ici, la première virgule fait partie du premier champ, mais cut -d, -f1 n'est pas d'accord. Avant d'écrire moi-même une solution, je me demandais si quelqu'un connaissait un bon outil qui existe déjà pour ce travail. Il devrait, à tout le moins, être capable de gérer l'exemple ci-dessus et de renvoyer une colonne à partir d'un fichier au format CSV. Parmi les autres fonctionnalités souhaitables, citons la possibilité de sélectionner des colonnes en fonction des noms de colonne indiqués dans la première ligne, la prise en charge d'autres styles de guillemets et la prise en charge des fichiers séparés par des tabulations.

Si vous ne connaissez pas un tel outil mais que vous avez des suggestions concernant l'implémentation d'un tel programme dans Bash, Perl ou Python, ou d'autres langages de script courants, ces suggestions ne me dérangeraient pas.

Réponse acceptée :

Vous pouvez utiliser le csv de Python module.

Un exemple simple :

import csv
reader = csv.reader(open("test.csv", "r"))
for row in reader:
    for col in row:
        print col

Linux
  1. 5 outils de ligne de commande pour trouver rapidement des fichiers sous Linux

  2. Titan - Un gestionnaire de mots de passe en ligne de commande pour Linux

  3. ppl - Un carnet d'adresses en ligne de commande pour Linux

  4. Moro - Un outil de productivité en ligne de commande pour le suivi des heures de travail

  5. Outil interactif de fusion de ligne de commande de type interface graphique (comme BeyondCompare ou WinMerge) pour Linux

fdupes - Un outil de ligne de commande pour rechercher et supprimer des fichiers en double sous Linux

Commande ls sous Linux pour lister les fichiers

Comment rechercher des fichiers à partir de la ligne de commande Linux

Une corbeille pour la ligne de commande Ubuntu

Ripgrep - L'outil de recherche de ligne de commande le plus rapide pour Linux

Développer rapidement une interface graphique pour la ligne de commande