Repolode
medialab

medialab/xan

シェル上でCSVやTSVをプレビュー、絞り込み、集計、結合、変換できるRust製コマンドラインツール。

代替できる製品:Microsoft Excel

スター
4,540
フォーク
94
未解決の Issue
127
最終コミット
18 時間前

これは何?

xanは、シェルからCSVファイルを処理するためのコマンドラインツールです。プレビュー、検索、絞り込み、切り出し、ソート、重複排除、集計、表形式データの結合などを行う、多数の組み合わせ可能なサブコマンドを備えており、パイプラインで連結して実行できます。

Rustで書かれ、SIMD対応のCSVパーサーを中核としています。一部の計算は複数スレッドで並列化されているため、ギガバイトからテラバイト規模のファイルも処理できます。また、CSVの各行に特化した独自の式言語を備え、filter、map、transform、agg、groupbyなどのコマンドで利用できます。JSON、NDJSON、Excel、Parquetなどの形式との相互変換にも対応しています。

このプロジェクトはxsvのフォークとして始まり、SciencesPoのmédialabによって大幅に書き直されました。Webデータ収集や社会科学分析向けの機能として、計量言語学、グラフ関連のユーティリティ、HTMLスクレイピングなどを備えています。手早くデータを調べられるよう、ターミナル上での表示、ヒストグラム、プロット、ヒートマップも利用できます。

主な機能

  • 01シェルからCSVファイルをプレビュー、検索、絞り込み、切り出し、ソート、重複排除する。
  • 02独自の式言語を使ってデータを集計・グループ化する。
  • 03pivotとunpivotを使ってテーブルを結合、マージ、分割、再構成する。
  • 04CSVとJSON、NDJSON、Excel、Parquetなどの形式を相互に変換する。
  • 05gzipおよびzstdで圧縮されたファイルや、VCF、SAM、BEDなど一般的なバイオインフォマティクス形式を読み込む。
  • 06ターミナル上にヒストグラム、散布図、ヒートマップを描画する。

ユースケース

  • スプレッドシートに読み込まずに、大きなCSVエクスポートをすばやく確認・絞り込む。
  • 表形式データのクリーニングや集計を行う、再利用可能なシェルパイプラインを構築する。
  • アンケートやWebクロールのデータセットから度数表や記述統計量を算出する。
  • スクリプトでCSVとJSONやExcelの形式を相互変換する。

クイックスタート

  1. 1

    Cargoでxanをインストールする

    cargo install xan --locked
  2. 2

    サンプルコーパスをダウンロードする

    curl -LO https://github.com/medialab/corpora/raw/master/polarisation/medias.csv
  3. 3

    ターミナルでファイルをプレビューする

    xan view medias.csv

トピック

よくある質問

xan とは?
シェル上でCSVやTSVをプレビュー、絞り込み、集計、結合、変換できるRust製コマンドラインツール。 xanは、シェルからCSVファイルを処理するためのコマンドラインツールです。プレビュー、検索、絞り込み、切り出し、ソート、重複排除、集計、表形式データの結合などを行う、多数の組み合わせ可能なサブコマンドを備えており、パイプラインで連結して実行できます。
xan は無料で使えますか?ライセンスは?
xan は Unlicense ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
xan は今もメンテナンスされていますか?
活発にメンテナンス中。xan の最終コミットは 2026年10月20日 です。
xan は何に使えますか?
スプレッドシートに読み込まずに、大きなCSVエクスポートをすばやく確認・絞り込む。 表形式データのクリーニングや集計を行う、再利用可能なシェルパイプラインを構築する。 アンケートやWebクロールのデータセットから度数表や記述統計量を算出する。 スクリプトでCSVとJSONやExcelの形式を相互変換する。
xan のインストール方法は?
Cargoでxanをインストールする: cargo install xan --locked サンプルコーパスをダウンロードする: curl -LO https://github.com/medialab/corpora/raw/master/polarisation/medias.csv ターミナルでファイルをプレビューする: xan view medias.csv
xan はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/medialab/xan

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト