【发布时间】:2021-07-14 19:38:02
【问题描述】:
我有一个具有这种结构的大型 JSON 文件:
[
{
"sniffer_serial":"7c9ebd9448a0",
"serial":"086bd7c39c8c",
"temp":31.36,
"x":-0.484375,
"y":-0.0078125,
"z":-0.859375,
"rssi":-70,
"id":33069,
"date":"2021-07-14 15:45:54.411"
},
{
"sniffer_serial":"7c9ebd945194",
"serial":"086bd7c39c8c",
"temp":31.36,
"x":-0.484375,
"y":-0.0078125,
"z":-0.859375,
"rssi":-70,
"id":33069,
"date":"2021-07-14 15:45:54.414"
},
{
"sniffer_serial":"7c9ebd9448a0",
"serial":"086bd7c39c8c",
"temp":31.36,
"x":-0.484375,
"y":-0.0078125,
"z":-0.859375,
"rssi":-70,
"id":33069,
"date":"2021-07-14 15:45:54.536"
},
{
"sniffer_serial":"7c9ebd945194",
"serial":"086bd7c39c8c",
"temp":31.36,
"x":-0.484375,
"y":-0.0078125,
"z":-0.859375,
"rssi":-70,
"id":33069,
"date":"2021-07-14 15:45:54.539"
},
{
"sniffer_serial":"7c9ebd9448a0",
"serial":"086bd7c39c8c",
"temp":31.36,
"x":-0.484375,
"y":-0.0078125,
"z":-0.859375,
"rssi":-70,
"id":33069,
"date":"2021-07-14 15:45:54.661"
},
{
"sniffer_serial":"7c9ebd945194",
"serial":"086bd7c39c8c",
"temp":31.36,
"x":-0.484375,
"y":-0.0078125,
"z":-0.859375,
"rssi":-70,
"id":33069,
"date":"2021-07-14 15:45:54.664"
},
{
"date": "2021-07-13/10:28:00.930",
"id": 21661,
"rssi": -81,
"serial": "086bd7c39baf",
"sniffer_serial": "7c9ebd9448a0",
"temp": 36.21,
"x": -0.4453125,
"y": -0.1328125,
"z": -0.8671875
},
{
"date": "2021-07-13/10:28:01.680",
"id": 21663,
"rssi": -80,
"serial": "086bd7c39baf",
"sniffer_serial": "7c9ebd9448a0",
"temp": 36.21,
"x": -0.4140625,
"y": -0.1171875,
"z": -0.8515625
},
{
"date": "2021-07-13/10:28:02.60",
"id": 21664,
"rssi": -88,
"serial": "086bd7c39baf",
"sniffer_serial": "7c9ebd9450cc",
"temp": 36.21,
"x": -0.4375,
"y": -0.0546875,
"z": -0.8515625
}
]
如您所见,我的价值观有些重复。
id 33069 重复 6 次,即每个 sniffer_serial 重复 3 次,只有时间戳在它们之间变化。
我想知道的是保持前三个相同的 id 并删除其他三个。
在这个例子中,这种重复模式只出现了一次,但它可以在整个文件中出现多次。
到目前为止,我得到的是如何只保留每个 id 的第一次出现并将其附加到列表中。
loader = json.loads(myJsonFile)
data = []
for key, items in groupby(sorted(loader, key=lambda x: (x['serial'], x['date'])), key=lambda x: x['id']):
data.append(next(items))
【问题讨论】:
标签: python json python-3.x