10 ポイント 投稿者 xguru 2025-04-09 | 1件のコメント | WhatsAppで共有
  • ターミナルで大容量CSVファイルを高速かつ効率的に処理できるRustベースのツール
  • 多様なデータ操作機能に加えて、表示、可視化、分析、Webスクレイピング、テキスト処理、ネットワーク分析までサポート
  • 内部的には高性能化のためにマルチスレッド式言語並列処理を活用
  • 超大規模CSV(ギガバイト級)ファイルも問題なく処理可能
  • PythonやLuaよりはるかに高速な専用式言語を提供
  • 単一コマンドのチェイニングで複雑なデータフローを実現可能
  • 簡単な統計からヒートマップ、ヒストグラムなど基本的な可視化まで可能
  • 社会科学研究者やWebデータ分析のための高度な機能を含む
  • Linux、macOS、Windowsをすべてサポート
  • .tsv, .psv, .ssv, .gz など多様なフォーマットを自動認識

主要コマンド例

  • 探索

    • xan headers: カラム一覧を出力
    • xan view: ターミナルでテーブル形式表示
    • xan flatten: 1行のすべての値を展開して表示
    • xan hist, xan plot, xan heatmap: 可視化機能
  • フィルタリング & 検索

    • xan search -s キーワード ファイル.csv: 特定キーワードを含む行を検索
    • xan filter '条件式' ファイル.csv: 式で行をフィルタリング
  • 変換

    • xan select: カラム選択
    • xan map: 式で新しいカラムを作成
    • xan transform: 既存カラムを式で変更
  • 集計と分析

    • xan count: 行数をカウント
    • xan frequency: 頻度テーブルを作成
    • xan stats: 記述統計を出力
    • xan agg: ユーザー定義集計
    • xan groupby: グループ単位で集計を実行
  • ソート & 重複削除

    • xan sort -s カラム: ソート
    • xan dedup -s カラム: 重複削除
  • 結合

    • xan join: キーを基準に結合
    • xan merge: ソート済みファイルをマージ
    • xan cat: 行または列基準で連結
  • 式言語

    • xan map 'fmt("{} ({})", name, foundation_year)' key
    • xan filter 'batch > 1'
    • xan transform name 'split(name, ".") | first | upper'
    • 式言語はCSV操作に特化した軽量DSLで、公式ドキュメントのチートシート関数一覧集計関数一覧を参照可能
  • 可視化機能

    • xan hist: テキストベースのヒストグラム
    • xan plot: 散布図/折れ線グラフ
    • xan heatmap: 相関ヒートマップ
    • xan view -p: ターミナルにテーブル全体を表示

高度な機能

  • 標準入出力パイプラインを完全サポート
  • gzip圧縮ファイルを自動処理
  • スクレイピングDSLを内蔵(HTML → CSV変換)
  • lexicometry, fuzzy matching をサポート: tokenize, vocab, cluster
  • ネットワーク/行列変換: network, matrix

1件のコメント

 
halfenif 2025-04-09

どう応用できるだろうかと思いましたが、sort や drop を使うだけでも意味がありそうです。