我目前正在致力于设置基于 API 调用的自动化,以使用 Python3 将嵌入式数据更新为 Qualtrics 中的调查响应,这些调用的输入是有效负载 JSON,其中包含
responseId
和嵌入式数据字段更新。
我的问题如下。如何使用数据帧创建遵循以下结构的 JSON?
payload = {
"updates": [
{
"responseId": "R_1111",
"embeddedData": {
"ED_FIELD_1": "new_value",
"ED_FIELD_2": "new_value"
}
},
{
"responseId": "R_2222",
"embeddedData": {
"ED_FIELD_1": "new_value_2",
"ED_FIELD_2": "new_value_2"
}
}
],
"ignoreMissingResponses": False
}
我只需要更新一个名为
Division
的嵌入数据字段,我的源数据框具有以下结构,包含大约 6k 条记录:
response_id | 部门 |
---|---|
R_12345 | Div_1 |
R_67890 | Div_2 |
我尝试过使用“json”库和字典,但这仅适用于一条记录,因为字典不能在循环操作中使用(或者至少我还没有找到方法)。
如果我理解正确,你想从有问题的数据帧创建字典:
payload = {"updates": [], "ignoreMissingResponses": False}
for resp_id, div in zip(df["response_id"], df["division"]):
payload["updates"].append(
{"responseId": resp_id, "embeddedData": {"Division": div}}
)
print(payload)
打印:
{
"updates": [
{"responseId": "R_12345", "embeddedData": {"Division": "Div_1"}},
{"responseId": "R_67890", "embeddedData": {"Division": "Div_2"}},
],
"ignoreMissingResponses": False,
}