返回首页

Sheets:终端中的电子表格,基于 Go 为开发者打造

Sheets —— 一个基于 Go 的开源项目,用于在终端中处理电子表格。支持编辑、公式和跨平台兼容性。适用于无 GUI 的 CLI 环境中的数据分析。

开源 Sheets:直接在终端中的电子表格
Advertisement 728x90

Sheets:用 Go 构建的开源终端电子表格工具

Sheets 是一个跨平台的 Go 项目,用于直接在终端中处理电子表格。开发者 Maas Lalani 在 GitHub 上以 MIT 许可证发布了源代码。该工具针对偏好 CLI 解决方案而非图形界面的开发者。提供 Windows、macOS 和 Linux 的预构建二进制文件,使其适用于各种开发环境。

该项目解决了在纯文本环境中处理表格数据的问题,能够无缝集成到 shell 脚本和自动化工作流中。用户可以进行编辑、过滤和计算,而无需启动浏览器或桌面应用程序。

主要特性

Sheets 提供了类似于传统电子表格应用程序的功能,但针对终端进行了优化:

Google AdInline article slot
  • 单元格编辑:使用键盘快捷键导航表格,输入和修改值。
  • 公式和计算:支持基本数学运算和函数。
  • 导入/导出:处理 CSV、TSV 和其他文本格式。
  • 过滤和排序:快速搜索和数据组织。
  • 可视化:颜色编码和格式化,提升终端中的可读性。

界面采用全屏 TUI(文本用户界面),使用 tview 库或类似 Go 库构建。这使得处理大型表格时高效且不牺牲性能。

安装和使用

要开始使用,从 GitHub releases 获取预构建二进制文件,或从源代码构建:

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

安装后,使用以下命令启动:

Google AdInline article slot
sheets file.csv

项目需要 Go 1.21+ 进行编译。依赖项极少,便于在容器或 CI/CD 管道中部署。

开发中的应用

Sheets 完美融入 DevOps 工作流:

  • 实时日志处理。
  • 分析监控工具的指标(Prometheus、Grafana 导出)。
  • 通过脚本生成报告。
  • 数据库数据的 ETL 过程(SQLite、PostgreSQL 通过 csvdump)。

示例:将 JSON 日志解析成表格进行错误分析。

Google AdInline article slot
# Example script
sheets -i logs.json -o analysis.tsv | sheets --sort column2

这对于在无头环境或无 GUI 服务器上工作的资深开发者特别有用。

与替代方案的比较

| 工具 | 平台 | 许可证 | TUI | 公式 |

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

| Sheets | Win/Mac/Linux | MIT | 是 | 是 |

| visidata | *nix | GPL | 是 | 部分支持 |

| csvkit | *nix | MIT | 否 | 否 |

Sheets 以其完整的跨平台支持和基于终端的公式功能脱颖而出。

主要亮点

  • 开源 Go 代码库:易于扩展和自定义以满足特定需求。
  • 跨平台:所有主要操作系统的二进制文件,无依赖。
  • TUI 界面:终端中完整的导航和编辑功能。
  • MIT 许可证:可在商业项目中免费使用。
  • 极简设计:注重性能,无多余 UI 元素。

— Editorial Team

Advertisement 728x90

继续阅读