Powrót do strony głównej

Sheets: arkusze w terminalu na Go dla deweloperów

Sheets — otwarty projekt na Go do pracy z arkuszami kalkulacyjnymi w terminalu. Obsługuje edycję, formuły i wieloplatformowość. Nadaje się do analizy danych w środowiskach CLI bez GUI.

Otwarty Sheets: arkusze kalkulacyjne bezpośrednio w terminalu
Advertisement 728x90

# Sheets: otwarte narzędzie do pracy z arkuszami w terminalu w Go

Sheets — to wieloplatformowy projekt w Go do pracy z arkuszami kalkulacyjnymi bezpośrednio w terminalu. Deweloper Maas Lalani opublikował kod źródłowy na GitHub pod licencją MIT. Narzędzie jest skierowane do deweloperów preferujących rozwiązania CLI bez interfejsu graficznego. Binarki dostępne dla Windows, macOS i Linux, co zapewnia uniwersalność w różnych środowiskach deweloperskich.

Projekt rozwiązuje zadanie przetwarzania danych tabelarycznych w trybie tekstowym, integrując się ze skryptami shell i automatyzacją zadań. Użytkownicy mogą wykonywać operacje edycji, filtrowania i obliczeń bez potrzeby uruchamiania przeglądarki czy aplikacji desktopowych.

Główne możliwości

Sheets zapewnia funkcjonalność podobną do tradycyjnych aplikacji spreadsheet, ale dostosowaną do terminala:

Google AdInline article slot
  • Edycja komórek: Nawigacja po tabeli za pomocą klawiszy, wprowadzanie i zmiana wartości.
  • Formuły i obliczenia: Obsługa podstawowych operacji matematycznych i funkcji.
  • Import/eksport: Praca z CSV, TSV i innymi formatami tekstowymi.
  • Filtrowanie i sortowanie: Szybkie wyszukiwanie i porządkowanie danych.
  • Wizualizacja: Kodowanie kolorami i formatowanie dla lepszej czytelności w terminalu.

Interfejs wykorzystuje pełnoekranowy TUI (Text User Interface), zbudowany na bibliotece tview lub podobnej dla Go. Pozwala to efektywnie zarządzać dużymi tabelami bez utraty wydajności.

Instalacja i uruchomienie

Aby rozpocząć pracę, pobierz gotowy build z release'ów GitHub lub skompiluj z źródeł:

go install github.com/mjl-/sheets@latest

Po instalacji uruchom:

Google AdInline article slot
sheets file.csv

Projekt wymaga Go 1.21+ do kompilacji. Zależności minimalne, co ułatwia wdrożenie w kontenerach lub pipeline'ach CI/CD.

Zastosowanie w developmentcie

Sheets integruje się z praktykami DevOps:

  • Przetwarzanie logów w czasie rzeczywistym.
  • Analiza metryk z monitoringu (Prometheus, Grafana eksport).
  • Generowanie raportów w skryptach.
  • Procesy ETL dla danych z baz (SQLite, PostgreSQL via csvdump).

Przykład: parsowanie logów JSON do tabeli w celu analizy błędów.

Google AdInline article slot
# Przykład skryptu
sheets -i logs.json -o analysis.tsv | sheets --sort column2

To szczególnie przydatne dla doświadczonych deweloperów pracujących w środowiskach headless lub na serwerach bez GUI.

Porównanie z alternatywami

| Narzędzie | Platformy | Licencja | TUI | Formuły |

|-----------|---------------|----------|-----|------------|

| Sheets | Win/Mac/Linux | MIT | Tak | Tak |

| visidata | *nix | GPL | Tak | Częściowo |

| csvkit | *nix | MIT | Nie | Nie |

Sheets wyróżnia się pełną wieloplatformowością i wsparciem formuł w terminalu.

Co ważne

  • Kod otwarty w Go: Łatwo rozszerzalny i modyfikowalny pod zadania niestandardowe.
  • Wieloplatformowy: Binarki dla wszystkich systemów operacyjnych bez zależności.
  • Interfejs TUI: Pełna nawigacja i edycja w terminalu.
  • Licencja MIT: Wolne użycie w projektach komercyjnych.
  • Minimalistyczny design: Nacisk na wydajność bez zbędnego UI.

— Editorial Team

Advertisement 728x90

Czytaj dalej