Quick Tips

CSV? Es lebe SQL!

: Ein nettes, kleines Tool, um auf der Kommandozeile mit SQL-Abfragen CSV-Dateien zu durchforsten

Ich habe neulich ein Werkzeug gebraucht um ein paar Informationen aus einer CSV-Datei zu ziehen. Dabei bin ich über ein nettes kleines CLI-Tool namens textql gestolpert. Mit textql kann man auf CSV-Dateien mit SQL-Operationen arbeiten. Und so gehts:

Nachdem man textql installiert hat, kann man mit folgendem Befehl eine SQLite-Konsole bekommen.

textql -console -header heroes_information.csv

Nun ist es ratsam, sich über das Schema zunächst einmal ein paar Informationen einzuholen:

sqlite> .tables
heroes_information

sqlite> .schema heroes_information CREATE TABLE [heroes_information] ([id] NUMERIC, [name] NUMERIC, [gender] NUMERIC, [eye_color] NUMERIC, [race] NUMERIC, [hair_color] NUMERIC, [height] NUMERIC, [publisher] NUMERIC, [skin_color] NUMERIC, [alignment] NUMERIC, [weight] NUMERIC);

Und jetzt, mit diesen Informationen, kann man sich nun zum Beispiel alle menschlichen Marvel Helden – sortiert nach ihrem Gewicht – ausgeben lassen.

sqlite> select id, name, weight from heroes_information where publisher = 'Marvel Comics' and race = 'Human' order by weight desc limit 10;
373|Juggernaut|855
119|Bloodaxe|495
0|A-Bomb|441
591|She-Hulk|315
583|Scorpion|310
412|Lizard|230
391|Kingpin|203
574|Sandman|203
668|Tiger Shark|203
345|Iron Man|191

Ach so… Für das Beispiel habe ich ein paar Superhelden aus einem Kaggle Datensatz genommen 😉

Cheers!

Christian Claus

Software-Entwickler