Octa:本地数据探索与处理工具

CSV和Excel可能是表格数据最广为人知的格式。任何使用过电脑的人都遇到过它们。它们易于打开、人类可读且创建快速。无论您使用Microsoft Excel、LibreOffice、Google Sheets还是类似工具,处理这些格式都很简单。

Octa:本地数据探索与处理工具
梯形图转SCL | 博途AI辅助编程文档 | AI模型价格对比 | AI工具导航 | ONNX模型库 | Vibe Coding教程 | PLC在线仿真器 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo
Post cover image

CSV和Excel可能是表格数据最广为人知的格式。任何使用过电脑的人都遇到过它们。它们易于打开、人类可读且创建快速。无论您使用Microsoft Excel、LibreOffice、Google Sheets还是类似工具,处理这些格式都很简单

然而,数据格式的世界远不止CSV和Excel。即使您不经常处理数据,也可能遇到过XML或JSON等格式。再深入一点,您会发现Parquet和Avro、YAML和TOML、Markdown以及SAS和SPSS等平台使用的各种格式。对于数据工程师、数据科学家和分析师来说,这些格式是日常工作的一部分。

CSV和Excel很少是问题。XML和JSON几乎可以用任何文本编辑器打开,YAML和TOML也是如此。然而,对于Markdown,您可以看到源文本,但不一定能看到它的渲染效果。当您想要打开SAS或Parquet文件时会发生什么?

当然,有这些格式的读取器。但通常这就是工作流变得不太方便的地方。您打开首选编辑器或Jupyter Notebook,编写Python脚本来读取文件。或者,您可以使用DuckDB,或者越来越多地询问AI来检查它,我宁愿避免这样做。

虽然使用AI处理此目的的问题是显而易见的,但其他方法也不是特别方便。使用Python,您必须编写代码。使用DuckDB,您需要SQL查询。如果您想检查不同的文件,可能必须修改代码或查询。更重要的是,您最终会为不同的格式和不同的任务使用不同的工具。

我自己遇到过这个问题。有时我只是想快速查看一个Parquet文件以了解其内容。处理CSV文件时,LibreOffice确实提供了关于分隔符和引号的信息,但它并不立即显而易见在哪里可以找到它。文本编辑器向我显示原始数据,但没有以适当结构化和可读的列显示。使用Markdown,我可以看到源代码但看不到渲染结果。我还遇到了想要在Jupyter Notebooks中检查测试用例的情况,以及许多其他类似场景。

我为其中一些任务编写了脚本和快捷方式,但对整体工作流并不满意。因此,我开始寻找一个可以打开Parquet、CSV、Excel、Avro、Jupyter Notebooks、Markdown和其他格式的单一应用程序。

长话短说,没有找到这样的解决方案。至少,没有满足要求的开源解决方案。付费解决方案也不是特别有吸引力。我对此类工具几乎没有付费兴趣,特别是因为这个领域的解决方案通常是为Windows构建的。

在线平台因其他原因被排除在外。将可能敏感的数据上传到我无法控制的环境中不是一个选择。

这只剩下三种可能性:继续使用现有的脚本和工具集合,等待其他人最终构建正确的解决方案,或者自己构建它。

选择是显而易见的。我决定自己构建它,并将其命名为Octa

最初,计划很简单。我想构建一个桌面应用程序,可以读取Parquet、CSV、Excel和JSON文件,提供一些基本的编辑功能,并且快速易用。

然而,一旦我实现了这个初始目标,我就开始思考应用程序还能做什么。为什么不添加更有用的功能呢?

这导致了诸如使用SQL修改CSV文件、从不同格式的文件中连接数据、直接从S3读取数据以及集成聊天界面以使用AI查询数据等想法。如果AI是应用程序的一部分,为什么不通过MCP提供相同的功能呢(实际上,情况正好相反。我在聊天之前添加了MCP)?

None

从一个打开不同数据格式的简单工具开始,逐渐变成了更有雄心的东西。

当前版本是0.17.0,可在GitHub上获取。Octa主要为Linux开发,但也为Windows和macOS提供了构建版本。

有一个警告。由于Windows和macOS构建版本没有使用这些平台要求的证书签名,因此在您尝试运行它们时可能会被阻止或触发安全警告(在Windows上,您可以从商店安装而不会收到警告,因为Microsoft已经检查并批准了Ocata)。获取和维护必要的证书将增加我无法承担的成本。

这并不意味着Octa不能在Windows或macOS上使用。两个平台都受支持,但您可能需要采取一些额外步骤来运行应用程序。

如果您想在Windows或macOS上使用Octa,请参阅文档获取说明。在Linux上,您可以简单地下载二进制文件,自己编译Octa,或使用AppImage。Octa也可以为其他操作系统编译,包括Windows、macOS、BSD等。如果您使用Arch Linux或基于Arch的发行版,您可以从AUR安装Octa。

1、功能

如前所述,随着时间的推移,许多功能已被添加,并且开发仍在进行中。目前可用的一些功能包括:

  • 支持20多种数据格式
  • 提供GUI、CLI和MCP服务器的单一二进制文件
  • 使用SQL或自然语言查询和修改数据集
  • 从Azure Storage、Google Cloud Storage、AWS S3和S3兼容存储读取和写入
  • 透视和逆透视功能
  • 连接到MySQL、PostgreSQL、Databricks和其他数据源

功能列表已经长得多,并且计划了更多功能。值得一提的功能是内置助手。助手不是将整个数据集发送给AI模型,而是将请求转换为查询,并使用预定义的函数或DuckDB执行它。这允许助手在不需要将整个数据集发送给模型的情况下处理数据。

None

除了查询数据之外,它还可以修改现有文件并创建新文件。

None

2、限制

Octa也有一些限制。一个重要的限制是数据集的大小。虽然Octa可以流式传输数据并打开非常大的文件,但无法处理无限大小的数据集。最终,可用的硬件是限制因素。

另一个重要的考虑是数据隐私。Octa本身在本地运行,但使用外部LLM意味着数据可能会发送给相应的提供商。Ollama是一个例外,Octa支持它在本地运行LLM。使用Ollama时,数据保留在您的机器上,不会发送给外部AI提供商。请查看此处获取更多信息。

3、结束语

就个人而言,我认为Octa是一个有用且易于使用的工具,这就是我将其提供给任何人尝试的原因。请随时在您自己的工作流中测试和使用它。只需记住,Octa是一个独立项目。错误修复、改进和新功能需要时间,并且没有团队立即实施它们。


原文链接:Octa: A Local Tool for Exploring and Working with Data

汇智网翻译整理,请转载文章时标明出处。