总之,我正在尝试将airtable中的JSON数据转换为新JSON中的另一种形式,但是我被卡住了。这是我从airtable获得的JSON:
dataset = {"records": [{"id": "recVqe2l15WKanDS1", "fields": {"confirm": "2", "state": "MA\n", "time": "2019-01-01", "predict": "2"}, "createdTime": "2020-09-19T01:53:47.000Z"},
{"id": "rechRMD3sKzsweZO8", "fields": {"confirm": "1", "state": "MA\n", "time": "2019-01-01", "predict": "1"}, "createdTime": "2020-09-19T01:53:47.000Z"},
{"id": "recnO0uTnz3LmJNGF", "fields": {"confirm": "3", "state": "MA\n", "time": "2019-01-01", "predict": "3"}, "createdTime": "2020-09-19T01:53:47.000Z"}]}
我唯一需要的是每个"fields"
中的信息和 "state"
的键。所以它看起来像:
{
MA:[{"confirm": "2", "time": "2019-01-01", "predict": "2"},
{"confirm": "1", "time": "2019-01-01", "predict": "1"},
{"confirm": "3", "time": "2019-01-01", "predict": "3"}
....(there could be more state data like this)
}
在本例中,我首先从原始数据中删除了state:MA\n
,并用冒号将其移到前面。以下是我迄今为止所做的尝试
records = dataset['records']
for i in records:
fields = i['fields']
state = i['fields'].get('state')
print(state)
输出结果如下所示:
MA
MA
MA
我可以得到如下字段数据:
records = dataset['records']
for i in records:
fields = i['fields']
print(fields)
看起来是这样的:
{'confirm': '2', 'state': 'MA\n', 'time': '2019-01-01', 'predict': '2'}
{'confirm': '1', 'state': 'MA\n', 'time': '2019-01-01', 'predict': '1'}
{'confirm': '3', 'state': 'MA\n', 'time': '2019-01-01', 'predict': '3'}
我只是想知道如何改革它们,使其看起来像我想要的数据 非常感谢你的帮助!!我真的很感激
这将为您提供所需的输出:
在
dataset
上迭代时,可以使用所需的数据构建dict
:当我们使用
defaultdict
时,可以做得稍微短一点:输出:
您也可以尝试以下代码:
输出:
相关问题 更多 >
编程相关推荐