栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用bash或python排序巨大的JSON文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用bash或python排序巨大的JSON文件

这是基于其中一项评论中的建议的解决方案:

如果您可以在行前面加上sort键,以便可以将它们作为文本而不是JSON进行排序,那么GNU
sort可以轻松地对10GB以上的文件进行排序,而无需将其加载到内存中。–那个人

您可以使用jq沿着以下行执行此操作:

jq -cr '"(.ps)t(.)"'

这将产生带有制表符分隔值的行,如下所示:

abc {"ps":"abc","x":0}abc {"ps":"abc","x":1}

使用-c选项可确保将每一对(即排序键和对象)写入一行。

现在,您可以轻松地对行进行排序,例如使用

sort
;然后使用例如
cut
剥离.ps字段。

最后,如果您确实希望格式化输出,则可以再次使用

jq
(例如
jq .
),这是因为jq默认情况下是面向流的。

警告

以上假设.ps值不带制表符。如果不是这种情况,则可以使用其他字段分隔符,也可以:

jq -cr '([.ps] | @tsv) + "t" + tostring'


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/373089.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号