Linux怎么使用jq将csv转换为json呢
时间: 2023-02-11 18:42:32 浏览: 411
json_to_paths:将JSON文档提取到'jq'和'xpath'的路径集合中
在 Linux 终端中,可以使用以下命令将 CSV 文件转换为 JSON 格式:
```
cat file.csv | jq -r 'split("\n") | .[1:] | map(split(",")) | map({"col1": .[0], "col2": .[1], "col3": .[2]})' > file.json
```
这里, jq是一种在命令行上操作json文件的工具,它可以帮助我们高效简便地操作json文件. 这条命令首先使用 `cat` 命令读取 CSV 文件,然后使用 jq 解析 CSV 文件并将其转换为 JSON 格式。
其中:
- `split("\n")` 用来分割csv文件,将每一行分割为一个数组元素;
- `map(split(","))` 将每一行分割成对应的列。
- `map({"col1": .[0], "col2": .[1], "col3": .[2]})` 用来将列与键进行对应, 形成JSON.
- `> file.json` 将转换好的结果保存到一个新的文件 file.json 中.
这条命令假设csv文件有三列,如果有不同数量的列,那么需要根据实际情况进行调整.
阅读全文