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