前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Trdsql - 使用 SQL 语句对 CSV 和 JSON 文件进行处理。

Trdsql - 使用 SQL 语句对 CSV 和 JSON 文件进行处理。

原创
作者头像
贺春旸的技术博客
发布2024-10-12 14:48:14
发布2024-10-12 14:48:14
13500
代码可运行
举报
文章被收录于专栏:DBA 平台和工具
运行总次数:0
代码可运行

Trdsql 是一个轻量级的命令行工具,它能让你直接使用 SQL 语句对 CSV 和 JSON 文件进行处理。对于那些已经熟悉 SQL 语法的用户来说,trdsql 几乎不需要任何额外的学习成本,可以轻松上手。

通过这一工具,用户可以快速地查询、过滤和操作数据文件,从而省去学习新语言或工具的时间。对于时间有限的开发者或数据分析师来说,trdsql 无疑是一种高效的解决方案。

举例来说,您可以使用 trdsql 直接在 CSV 文件上执行 SQL 查询:

代码语言:bash
复制
# cat test.csv 
1,Orange
2,Melon
3,banana

# ./trdsql "SELECT * FROM test.csv"
1,Orange
2,Melon
3,banana

通过 -id 参数,还可以指定 CSV 文件的分隔符。例如,下面的命令将使用制表符作为分隔符来读取文件:

代码语言:bash
复制
# cat test2.csv 
1	Orange
2	Melon
3	Apple
# 
# ./trdsql -id "\t" "SELECT * FROM test2.csv"
1,Orange
2,Melon
3,Apple

trdsql 还支持 JSON 文件的直接查询处理,只需使用 -ijson 参数指定输入文件的格式即可:

代码语言:javascript
代码运行次数:0
复制
# jq . test.json 
[
  {
    "id": "1",
    "name": "Orange",
    "price": "50"
  },
  {
    "id": "2",
    "name": "Melon",
    "price": "500"
  },
  {
    "id": "3",
    "name": "Apple",
    "price": "100"
  }
]

# ./trdsql -ijson "SELECT * FROM test.json"
50,1,Orange
500,2,Melon
100,3,Apple

不仅如此,trdsql 还能够提取 JSON 文件中的嵌套字段。例如,在如下命令中,trdsql 从 JSON 文件中提取了 attribute 字段中的 country 和 color 子字段:

代码语言:javascript
代码运行次数:0
复制
# jq . test2.json 
[
  {
    "id": 1,
    "name": "Drolet",
    "attribute": {
      "country": "Maldives",
      "color": "burlywood"
    }
  },
  {
    "id": 2,
    "name": "Shelly",
    "attribute": {
      "country": "Yemen",
      "color": "plum"
    }
  },
  {
    "id": 3,
    "name": "Tuck",
    "attribute": {
      "country": "Mayotte",
      "color": "antiquewhite"
    }
  }
]


# ./trdsql -ijson "SELECT * FROM test2.json"
1,Drolet,"{""color"":""burlywood"",""country"":""Maldives""}"
2,Shelly,"{""color"":""plum"",""country"":""Yemen""}"
3,Tuck,"{""color"":""antiquewhite"",""country"":""Mayotte""}"
 
 
# ./trdsql -ijson "SELECT id, name, JSON_EXTRACT(attribute, '$.country'), JSON_EXTRACT(attribute, '$.color') FROM test2.json"
1,Drolet,Maldives,burlywood
2,Shelly,Yemen,plum
3,Tuck,Mayotte,antiquewhite

总结

使用 trdsql,您可以轻松地在命令行中完成这些操作,无需安装庞大的数据库系统或配置复杂的工具。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档