xan - Terminal için CSV sihirbazı
(github.com/medialab)- Rust tabanlı bir araç olup terminalde büyük CSV dosyalarını hızlı ve verimli şekilde işleyebilir
- Çeşitli veri işleme özelliklerinin yanı sıra görüntüleme, görselleştirme, analiz, web scraping, metin işleme ve ağ analizi de destekler
- Dahili olarak yüksek performans için çoklu iş parçacığı, ifade dili ve paralel işleme kullanır
- Çok büyük CSV (gigabayt ölçeğinde) dosyaları da sorunsuz işleyebilir
- Python veya Lua'dan çok daha hızlı özel bir ifade dili sunar
- Tek komut zincirleme ile karmaşık veri akışları kurulabilir
- Basit istatistiklerden heatmap ve histogram gibi temel görselleştirmelere kadar imkan verir
- Sosyal bilim araştırmacıları ve web verisi analizi için gelişmiş özellikler içerir
- Linux, macOS ve Windows'un tümünü destekler
.tsv,.psv,.ssv,.gzgibi çeşitli formatları otomatik tanır
Temel komut örnekleri
-
Keşif
xan headers: sütun listesini yazdırırxan view: terminalde tablo biçiminde görüntülerxan flatten: bir satırdaki tüm değerleri açarak gösterirxan hist,xan plot,xan heatmap: görselleştirme özellikleri
-
Filtreleme & arama
xan search -s 키워드 파일.csv: belirli bir anahtar kelimeyi içeren satırları bulurxan filter '조건식' 파일.csv: ifadeyle satır filtreler
-
Dönüştürme
xan select: sütun seçerxan map: ifadeyle yeni sütun oluştururxan transform: mevcut sütunları ifadeyle değiştirir
-
Toplama ve analiz
xan count: satır sayısını sayarxan frequency: frekans tablosu oluştururxan stats: tanımlayıcı istatistikleri yazdırırxan agg: kullanıcı tanımlı toplamaxan groupby: grup bazında toplama yapar
-
Sıralama & tekrar kaldırma
xan sort -s 컬럼: sıralarxan dedup -s 컬럼: tekrarları kaldırır
-
Birleştirme
xan join: anahtara göre join yaparxan merge: sıralanmış dosyaları birleştirirxan cat: satır veya sütun bazında ekler
-
İfade dili
xan map 'fmt("{} ({})", name, foundation_year)' keyxan filter 'batch > 1'xan transform name 'split(name, ".") | first | upper'- İfade dili, CSV işleme için özelleştirilmiş hafif bir DSL'dir; resmi belgelerde cheatsheet, işlev listesi, toplama işlevleri listesi incelenebilir
-
Görselleştirme özellikleri
xan hist: metin tabanlı histogramxan plot: scatter plot/çizgi grafikxan heatmap: korelasyon heatmap'ixan view -p: terminalde tüm tabloyu görüntüler
Gelişmiş özellikler
- Standart girdi/çıktı pipeline desteği tamdır
- gzip sıkıştırılmış dosyaları otomatik işler
- Scraping DSL yerleşik olarak gelir (HTML → CSV dönüşümü)
- lexicometry, fuzzy matching desteği:
tokenize,vocab,cluster - Ağ/matris dönüşümü:
network,matrix
1 yorum
Bunu nasıl uygulayabilirim diye düşünmüştüm ama sadece
sortya dadropkullanmak bile anlamlı olabilir.