如果记录在python中具有特定键,则在json对象中查找该记录
我有一个JSON对象,它有100000条记录。我想选择一个记录,该记录对其中一个键具有特定值 例如: 现在,我想将名称为“bindu”和“bindu s”的记录组合起来。我们可以通过在JSON对象上迭代来实现这一点,但由于大小更大,因此需要更多的时间。有没有办法让这件事变得简单 我想要像这样的输出如果记录在python中具有特定键,则在json对象中查找该记录,json,python-3.x,jq,Json,Python 3.x,Jq,我有一个JSON对象,它有100000条记录。我想选择一个记录,该记录对其中一个键具有特定值 例如: 现在,我想将名称为“bindu”和“bindu s”的记录组合起来。我们可以通过在JSON对象上迭代来实现这一点,但由于大小更大,因此需要更多的时间。有没有办法让这件事变得简单 我想要像这样的输出 [{ "name": "bindu", "age": "24", "qualification": "b.tech", "status": "married" }, {
[{
"name": "bindu",
"age": "24",
"qualification": "b.tech",
"status": "married"
},
{
"name": "naveen",
"age": "23",
"qualification": "b.tech",
"status": "unmarried"
},
{
"name": "parvathi",
"age": "23",
"qualification": "m.tech"
"status": ""
},
这将按名字重命名和合并对象
jq 'map(.name |= split(" ")[0]) | group_by(.name) | map(add)'
您发布的内容不是有效的JSON。我添加了示例JSON文件来解释我的问题。如果您希望能够通过键快速检索记录,则应将记录存储在数据库(如sqlite3)中,而不是使用
name
作为索引。如果您有代码希望帮助改进,你应该把它发布在CodeReview上。你目前的做法是什么?要花多少时间?您是否担心搜索时间超过了JSON的增长(例如:后者呈线性增长,而前者呈指数增长)?或者是另一个?
jq 'map(.name |= split(" ")[0]) | group_by(.name) | map(add)'