回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一组ndJOSN数据集,如下所示:</p>
<pre><code> {'ADDRESS_CITY': 'Whittier', 'ADDRESS_LINE_1': '905 Greenleaf Avenue', 'ADDRESS_STATE': 'CA', 'ADDRESS_ZIP': '90402',},
{'ADDRESS_CITY': 'Cedar Falls', 'ADDRESS_LINE_1': '93323 Maplewood Dr', 'ADDRESS_STATE': 'CA', 'ADDRESS_ZIP': '95014'}
</code></pre>
<p>我需要将上面的值传递到api请求中,特别是下面格式的主体</p>
<pre><code>data=[
{
"addressee":"Greenleaf Avenue",
"street":"905 Greenleaf Avenue",
"city":"Whittier",
"state":"CA",
"zipcode":"90402",
},
{
"addressee":"93323",
"street":"Maplewood Dr",
"city":"Cedar Falls",
"state":"CA",
"zipcode":"95014",
}
]
</code></pre>
<p>正如您所看到的,密钥是不同的,因此我需要更改密钥,使其与正确的数据对齐,并将它们与新的密钥名称一起传递(即地址\u行\u 1传递给收件人)-此请求中将有10k个地址</p>
<p>在我的第一个示例中,我没有注意到这一点,但每个地址都有一个相关联的ID——我必须删除它才能发出请求,然后再重新添加。
所以我最终解决了下面的问题——任何更具Python风格的问题,这些问题对我来说都不是那么有说服力</p>
<pre><code>addresses = ndjson.loads(addresses)
data = json.loads(json.dumps(addresses).replace('"ADDRESS_CITY"','"city"').replace('"ADDRESS_LINE_1"','"street"').replace('"ADDRESS_STATE"','"state"').replace('"ADDRESS_ZIP"','"zipcode"'))
ids = []
for i in data:
i['candidates'] = 1
ids.append(i["ID"])
del i["ID"]
response = requests.request("POST", url, json=data)
resp_data = response.json()
a = 0
for i in resp_data:
i['ID'] = ids[a]
x = i['ID'] = ids[a]
a = a + 1
</code></pre>