尝试使用python脚本调用api。我的数据位于列表中,并带有方括号。 API需要大括号
我在下面的列表中有一些记录
[[1, '12334', 'test1', '10', '20', '30', '2000', '5/15/2019', '35.7', '101', 'TRUE'], [2, '56789', 'Test2', '10', '20', '35', '10000', '6/20/2019', '120.99', '102', 'FALSE'], [3, '67890', 'Test3', '10', '20', '40', '1000', '7/20/2019', '100.99', '103', 'FALSE']]
我将运行python3脚本以上述数据调用api。此列表将作为json传递以调用api
api正在接收格式为-
{
"testInputs": [
{
"testId": 1,
"testitem": 12334,
"Name": "Test1",
"dn": 10,
"dt": 20,
"cs": 30,
"in": 2000,
"op": "2019-05-15",
"re": 35.7,
"nr": 101,
"anni: true
},
{
"testId": 2,
"testitem": 56789,
"Name": "Test2",
"dn": 10,
"dt": 20,
"cs": 35,
"in": 10000,
"op": "2019-06-20",
"re": 120.99,
"nr": 102,
"anni": false
}
]
}
当我在json.dump中传递列表记录并调用api时,它带有方括号-如
{"testInputs": [[1, "78901", "Test1", "10", "20", "45", "3000", "8/20/2019", "50.99", "104", "TRUE"], [2, "89012", "Test2", "10", "20", "50", "4000", "7/20/2019", "60.99", "105", "FALSE"], [3, "90123", "Test3", "10", "20", "55", "5000", "7/15/2019", "70.99", "106", "FALSE"]]}
如何获取大括号中的记录以匹配api的格式?
答案 0 :(得分:0)
列出所需的键:
keys = ["testId", "testitem", ..., "nr", "anni"]
如果您将输入列表命名为data
,并且始终按正确的顺序排列项目,则可以通过将键和值压缩在一起来制作字典:
result = [dict(zip(keys, d)) for d in data]
您似乎正在寻找字典的另一层:
{"testInputs": result}
OR
{"testInputs": [dict(zip(keys, d)) for d in data]}