我是 Unix 环境的新手。我希望学习在 Unix 中操作 CSV 文件(例如:添加新列、通过索引从一个 CSV 获取值以及将值附加到新的 CSV 文件中等)。我知道可以使用 Python,但是系统限制我使用 Pandas、Numpy 等。我希望学习本机 Unix 工具来解析和操作 CSV 文件。我读过 awk、sed 对于简单的 CSV 文件来说还可以,但对于复杂的 CSV 文件可能会变得混乱(但我会喜欢你的输入)。我正在寻找这里专家关于用于 CSV 操作的本机 Unix 工具的一些建议,这些工具不需要任何类型的安装。我应该关注哪些工具?提前致谢。
答案1
对我来说,最好的 CSV Unix 工具是 Miller:
答案2
我不知道有任何用于 CSV 的“标准 Unix 工具”,不像awk,切,grep,sed等等……无论如何。
- 我之前向您提到过 GoCSV,它仍然是我的最高推荐。它速度很快,主要是流式传输(专为管道设计)。它的灵感来自 csvkit。
- csvkit 很好,但我在基于 ARM 的机器(带有 M1 处理器的 Macbook Air)上安装它时遇到了麻烦,如果 numpy 是一个问题,这可能会取消 csvkit 的资格,因为 csvkit 依赖于它。如果你签出这个文档,您将看到启发 csvkit 的其他工具。其中一些可能在您的系统上更为标准。
您自己提到了用 Python 编写脚本,但似乎认为您需要 numpy 或 pandas。你不知道。它们可以使事情变得简单,并且您的代码非常短,但是您可以使用 Python 自己的语言来执行读取、排序、索引、过滤和编写 CSV 所需的一切操作数据集模块。该官方文档是一个很好的参考,但对于初学者我推荐 Python for Beginner's,CSV 文件。我还用 Python 编写了自己的 CSV 入门书,欢迎使用 CSV w/Python!,基于阅读 StackOverflow 上挣扎的人们的大量 Python-CSV 代码。