Utiliser la syntaxe SQL sur des fichiers CSV

par Korben -

Malgré la simplicité d’utilisation de bases comme MySQL ou SQLite, nombreux sont ceux qui ne jurent que par le format CSV pour stocker leurs données.

Le CSV c’est très bien et simple à utiliser, lire, exporter, manipuler…

Mais que diriez-vous d’aller un petit peu plus loin dans l’exploitation de vos CSV en lançant des commandes SQL-like sur vos documents ? C’est ce que propose le développeur Harel Ben-Attia avec son programme Q.

Q est un programme en Python qui fait office de passerelle entre le monde du fichier texte (CSV) et celui des bases SQL. Pour vous donner un exemple simple, si je récupère dans un CSV le résultat d’une commande “ls -l”, c’est-à-dire une liste de fichier avec leurs tailles, je peux par exemple compter le nombre de fichiers renvoyés en entrant la commande suivante :

q “SELECT COUNT(1) FROM exampledatafile”

ou

cat exampledatafile | q “SELECT COUNT(1) FROM -”

Évidemment, tout le reste (GROUP BY, ORDER BY, jointures…etc), ça fonctionnera aussi. Q est compatible avec la plupart des encodages, dont UTF-8, sait gérer les fichiers gzippés.

Si ce soft vous intéresse, vous trouverez tout ça sur Github.