- Ein Rust-basiertes Tool zur schnellen und effizienten Verarbeitung großer CSV-Dateien im Terminal
- Unterstützt neben verschiedenen Funktionen zur Datenmanipulation auch Anzeige, Visualisierung, Analyse, Web-Scraping, Textverarbeitung und Netzwerkanalyse
- Nutzt intern Multithreading, eine Ausdruckssprache und Parallelverarbeitung für hohe Performance
- Verarbeitet auch extrem große CSV-Dateien im Gigabyte-Bereich problemlos
- Bietet eine spezialisierte Ausdruckssprache, die deutlich schneller als Python oder Lua ist
- Mit Verkettung einzelner Befehle lassen sich komplexe Datenflüsse umsetzen
- Ermöglicht grundlegende Visualisierungen von einfachen Statistiken bis zu Heatmaps und Histogrammen
- Enthält erweiterte Funktionen für Sozialwissenschaftler und die Analyse von Webdaten
- Unterstützt Linux, macOS und Windows
- Erkennt verschiedene Formate wie
.tsv, .psv, .ssv, .gz usw. automatisch
Beispiele für zentrale Befehle
-
Erkundung
xan headers: Gibt die Spaltenliste aus
xan view: Anzeige als Tabelle im Terminal
xan flatten: Alle Werte einer Zeile ausgeklappt anzeigen
xan hist, xan plot, xan heatmap: Visualisierungsfunktionen
-
Filtern & Suchen
xan search -s 키워드 파일.csv: Zeilen mit einem bestimmten Schlüsselwort finden
xan filter '조건식' 파일.csv: Zeilen per Ausdruck filtern
-
Transformation
xan select: Spalten auswählen
xan map: Neue Spalte per Ausdruck erzeugen
xan transform: Vorhandene Spalte per Ausdruck verändern
-
Aggregation und Analyse
xan count: Anzahl der Zeilen zählen
xan frequency: Häufigkeitstabelle erzeugen
xan stats: Deskriptive Statistik ausgeben
xan agg: Benutzerdefinierte Aggregation
xan groupby: Aggregation nach Gruppen durchführen
-
Sortieren & Duplikate entfernen
xan sort -s 컬럼: Sortieren
xan dedup -s 컬럼: Duplikate entfernen
-
Kombination
xan join: Join anhand eines Schlüssels
xan merge: Sortierte Dateien zusammenführen
xan cat: Nach Zeilen oder Spalten verketten
-
Ausdruckssprache
xan map 'fmt("{} ({})", name, foundation_year)' key
xan filter 'batch > 1'
xan transform name 'split(name, ".") | first | upper'
- Die Ausdruckssprache ist eine leichtgewichtige DSL, die auf CSV-Manipulation spezialisiert ist; in der offiziellen Dokumentation finden sich ein Cheatsheet, eine Funktionsliste und eine Liste der Aggregatfunktionen
-
Visualisierungsfunktionen
xan hist: Textbasiertes Histogramm
xan plot: Scatterplot/Liniendiagramm
xan heatmap: Korrelations-Heatmap
xan view -p: Gesamte Tabelle im Terminal anzeigen
Erweiterte Funktionen
- Vollständige Unterstützung für Standard-Ein-/Ausgabe-Pipelines
- Automatische Verarbeitung von gzip-komprimierten Dateien
- Eingebaute Scraping-DSL (HTML → CSV-Konvertierung)
- Unterstützung für Lexikometrie und Fuzzy Matching:
tokenize, vocab, cluster
- Netzwerk-/Matrix-Transformationen:
network, matrix
1 Kommentare
Ich habe mich gefragt, wie man das anwenden könnte, aber selbst wenn man nur
sortoderdropverwendet, ist es sinnvoll.