使用Python将列表中的重复JSON键值对组合在一起

朱丽叶

我已经从REST API中读取并过滤了所需的数据,如下所示:

 [[key,value] for groups in results for group in groups['results'] for key,value in group.items() if key in ['utc_offset','country','city','state','name','link','lat','lon']]

我的输出:

[['utc_offset', -14400000],
['country', 'CA'],
['city', 'Toronto'],
['link', 'https://www.meetup.com/slashdot-3/'],
['lon', -79.44000244140625],
['name', 'The Toronto Slashdot Meetup Group'],
['state', 'ON'],
['lat', 43.7599983215332],
['utc_offset', -14400000],
['country', 'CA'],
['city', 'Toronto'],
['link', 'https://www.meetup.com/webcentric/'],
['lon', -79.44000244140625],
['name', 'The Greater Toronto Web Centric Meetup Group'],
['state', 'ON'],
['lat', 43.7599983215332],
['utc_offset', -14400000],
['country', 'CA'],
['city', 'Toronto'],
['link', 'https://www.meetup.com/php-27/'],
['lon', -79.37999725341797],
['name', 'The Toronto PHP Meetup Group'],
['state', 'ON'],
.
.
.
]]

我正在尝试将重复键分组,以便可以将它们建模为Django的数据对象:

[['utc_offset', -14400000],['country', 'CA'],['city', 'Toronto'],['link', 'https://www.meetup.com/slashdot-3/'],['lon', -79.44000244140625],['name', 'The Toronto Slashdot Meetup Group'],['state', 'ON'],['lat', 43.7599983215332]]

我已经试过了:

[zip(range(8),[key,value]) for groups in results for group in groups['results'] for key,value in group.items() if key in ['utc_offset','country','city','state','name','link','lat','lon']]

但是我的输出是这样的:

<zip object at 0x00000228D3C2F388>
<zip object at 0x00000228D3C2F388>
<zip object at 0x00000228D3C2F388>
<zip object at 0x00000228D3C2F388>
<zip object at 0x00000228D3C2F388>
<zip object at 0x00000228D3C2F3C8>
<zip object at 0x00000228D3C2F3C8>
<zip object at 0x00000228D3C2F3C8>
<zip object at 0x00000228D3C2F3C8>
<zip object at 0x00000228D3C2F388>
 .
 .
 .
 # twice the amount of the records I already have

因此,这几乎不是答案,因此任何帮助都会很棒。谢谢!

编辑我想要的输出将像这样

[['utc_offset', value],['country',value],['city',value],['link',value],['lon',value],['name',value],['state',value],['lat',value]]

暗星

认为这就是您所追求的(我仍然不确定100%您希望我对每个结果块做什么):

l = [['utc_offset', -14400000],
['country', 'CA'],
['city', 'Toronto'],
['link', 'https://www.meetup.com/slashdot-3/'],
['lon', -79.44000244140625],
['name', 'The Toronto Slashdot Meetup Group'],
['state', 'ON'],
['lat', 43.7599983215332],
['utc_offset', -14400000],
['country', 'CA'],
['city', 'Toronto'],
['link', 'https://www.meetup.com/webcentric/'],
['lon', -79.44000244140625],
['name', 'The Greater Toronto Web Centric Meetup Group'],
['state', 'ON'],
['lat', 43.7599983215332],
['utc_offset', -14400000],
['country', 'CA'],
['city', 'Toronto'],
['link', 'https://www.meetup.com/php-27/'],
['lon', -79.37999725341797],
['name', 'The Toronto PHP Meetup Group'],
['state', 'ON']]

result = []

tmp = []

for item in l:
    if item[0] == 'lat':
        tmp.append(item)
        result.append(tmp)
        tmp = []
    else:
        tmp.append(item)

print(result)

结果是:

[
    [
        ['utc_offset', -14400000], 
        ['country', 'CA'], 
        ['city', 'Toronto'], 
        ['link', 'https://www.meetup.com/slashdot-3/'], 
        ['lon', -79.44000244140625], 
        ['name', 'The Toronto Slashdot Meetup Group'], 
        ['state', 'ON'], 
        ['lat', 43.7599983215332]
    ], 
    [
        ['utc_offset', -14400000], 
        ['country', 'CA'], 
        ['city', 'Toronto'], 
        ['link', 'https://www.meetup.com/webcentric/'], 
        ['lon', -79.44000244140625], 
        ['name', 'The Greater Toronto Web Centric Meetup Group'], 
        ['state', 'ON'], 
        ['lat', 43.7599983215332]
    ]
]

utc_offsetto的每个块lat都放入其自己的列表中。如果您需要其他格式的文件,请告诉我。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将列表与列表中不同长度的列表组合在一起

将列表中的元素组合在一起形成新列表

JSON.net将2个列表(JObject)组合在一起

使用dplyr,purrr将列表列表中的每个ith元素组合在一起

Python将字典列表与等效字段组合在一起

如何使用jquery appendTo()将列表项和按钮组合在一起?

Python:在列表中递归地将操作数与其运算符组合在一起

如何将列表中的某些项目组合在一起 - Python3

两个列表整数在python中组合在一起

将python中的值组合在一起

如何将 Python 中的值组合在一起?

在Python中,如何将多个轴组合在一起?

将 2 个数据帧与 Python 中的 NO COMMON 列组合在一起

使用PHP将CSV中数组的不同部分组合在一起?

使用 SQL 将后续行中的反向对组合在一起

将SQL查询组合在一起

将数组元素组合在一起

将正确的值组合在一起

将数据聚合/组合在一起

将两个数据框与重复的列组合在一起

Python将两个for循环组合在一起,并且不会过度重复

如何将pandas数据框中的列与重复的名称组合在一起?

在列中查找重复的ID,并在R中将行组合在一起

每个键将几乎相同的字典值列表组合在一起

Jooq将OR条件列表与AND条件组合在一起

Kotlin通过汇总每个元素将“ N”个列表组合在一起

如何将Fn :: FindInMap中的列表与其他项目组合在一起?

如何将向量与列表中的公共成分组合在一起?

使用D3.js通过属性列表将形状/县组合在一起