Repolode
medialab

medialab/xan

Утилита командной строки на Rust для просмотра, фильтрации, агрегации, объединения и преобразования CSV- и TSV-файлов прямо в shell.

Open source альтернатива:Microsoft Excel

Звёзды
4,540
Форки
94
Открытые issues
127
Последний коммит
15 часов назад

Что это?

xan — утилита командной строки для обработки CSV-файлов из shell. В ней есть множество комбинируемых подкоманд для просмотра, поиска, фильтрации, выборки строк, сортировки, удаления дубликатов, агрегации и объединения табличных данных. Команды можно соединять в пайплайны.

Утилита написана на Rust и использует CSV-парсер с SIMD; часть вычислений распараллелена по потокам, поэтому она справляется с файлами размером от гигабайт до терабайт. В комплект входит собственный язык выражений, адаптированный для строк CSV. Он используется в командах filter, map, transform, agg и groupby. Утилита также умеет конвертировать данные в форматы JSON, NDJSON, Excel и Parquet и обратно.

Проект начался как форк xsv и был существенно переработан médialab института Sciences Po. В нём появились возможности для сбора веб-данных и анализа в социальных науках, в том числе лексикометрия, инструменты для работы с графами и парсинг HTML. Для быстрого изучения данных доступны также представления в терминале, гистограммы, графики и тепловые карты.

Ключевые возможности

  • 01Просматривайте, ищите, фильтруйте, выбирайте строки, сортируйте и удаляйте дубликаты в CSV-файлах прямо из shell.
  • 02Агрегируйте и группируйте данные с помощью собственного языка выражений.
  • 03Объединяйте и сливайте таблицы, разделяйте их, а также меняйте их форму с помощью pivot и unpivot.
  • 04Конвертируйте данные между CSV и такими форматами, как JSON, NDJSON, Excel и Parquet.
  • 05Читайте файлы, сжатые с помощью gzip и zstd, а также распространённые форматы биоинформатики, например VCF, SAM и BED.
  • 06Стройте в терминале гистограммы, диаграммы рассеяния и тепловые карты.

Сценарии использования

  • Быстро просматривать или фильтровать большой CSV-экспорт, не загружая его в электронную таблицу.
  • Создавать повторяемые shell-пайплайны для очистки и агрегации табличных данных.
  • Вычислять частотные таблицы и описательную статистику для данных опросов или веб-краулинга.
  • Конвертировать данные между CSV, JSON и Excel в скриптах.

Быстрый старт

  1. 1

    Установите xan с помощью Cargo

    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?
Утилита командной строки на Rust для просмотра, фильтрации, агрегации, объединения и преобразования CSV- и TSV-файлов прямо в shell. xan — утилита командной строки для обработки CSV-файлов из shell. В ней есть множество комбинируемых подкоманд для просмотра, поиска, фильтрации, выборки строк, сортировки, удаления дубликатов, агрегации и объединения табличных данных. Команды можно соединять в пайплайны.
xan можно использовать бесплатно? Какая у него лицензия?
xan распространяется с открытым исходным кодом под лицензией Unlicense. Перед использованием в коммерческих продуктах проверьте условия лицензии.
xan всё ещё поддерживается?
Активно поддерживается. Последний коммит в xan — 20 окт. 2026 г..
Для чего можно использовать xan?
Быстро просматривать или фильтровать большой CSV-экспорт, не загружая его в электронную таблицу. Создавать повторяемые shell-пайплайны для очистки и агрегации табличных данных. Вычислять частотные таблицы и описательную статистику для данных опросов или веб-краулинга. Конвертировать данные между CSV, JSON и Excel в скриптах.
Как установить xan?
Установите xan с помощью Cargo: 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 проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты