回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>总之,我正在尝试将airtable中的JSON数据转换为新JSON中的另一种形式,但是我被卡住了。这是我从airtable获得的JSON:<br/></p>
<pre><code>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"}]}
</code></pre>
<p>我唯一需要的是每个<code>"fields"</code>中的信息和<code> "state"</code>的键。所以它看起来像:<br/></p>
<pre><code>{
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)
}
</code></pre>
<p>在本例中,我首先从原始数据中删除了<code>state:MA\n</code>,并用冒号将其移到前面。以下是我迄今为止所做的尝试<br/></p>
<pre><code>records = dataset['records']
for i in records:
fields = i['fields']
state = i['fields'].get('state')
print(state)
</code></pre>
<p>输出结果如下所示:</p>
<pre><code>MA
MA
MA
</code></pre>
<p>我可以得到如下字段数据:</p>
<pre><code>records = dataset['records']
for i in records:
fields = i['fields']
print(fields)
</code></pre>
<p>看起来是这样的:</p>
<pre><code>{'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'}
</code></pre>
<p>我只是想知道如何改革它们,使其看起来像我想要的数据
非常感谢你的帮助!!我真的很感激</p>