Python 性能问题

Python performance issue

我有如下数据

print(json_ls)

[{'user_id': '1', 'lot_number': 'b49d18f1b', 'status': 'send'}, 
 {'user_id': '2', 'lot_number': 'b49d18f1c', 'status': 'send'},
 {'user_id': '3', 'lot_number': 'b49d18f1d', 'status': 'send'},
 {'user_id': '4', 'lot_number': 'b49d18f1e', 'status': 'send'}]

我需要将以上数据以下面的格式发送到API

{'users': [

{'user_id': '1',  'status': 'ready'}, 
 {'user_id': '2',  'status': 'ready'},
 {'user_id': '3',  'status': 'ready'},
 {'user_id': '4',  'status': 'ready'}

]} 

我写了下面的代码,因为 url 需要批号,我最初考虑在数据框中放入下面的代码。

final_data = {'users': []}                                              

  for ls in json_ls:
    lot = ls.get("lot_number")
    url = url + lotnumber                                                  
    request_data = {a: b for (a, b) in ls.items() if a != "lot_number"}     
    final_data['users'].append(request_data)

    for users in final_data.get("recipients"):                              
           users["status"] = "ready"
    response = requests.patch(url, data=json.dumps(final_data), headers=headers)

将 500 个用户处理为 API,用了 15 分钟,而且并非所有用户状态都更改为 "ready"。对于每个用户,状态应以 "ready" 状态发送。

任何人都可以帮助我解决这个问题以及如何提高编码部分的性能(我评论了响应并检查了执行时间。它更快并且接缝 API 本身需要时间来响应每个用户)

感谢您的帮助。

我怀疑您的性能问题归结为发送了不正确的数据,您的最终数据始终包括以前迭代中的用户,因此您没有更新 500 个用户,您更新的是 1 + 2 + ... + 500 个用户( 125k 用户)..

真的,您根本不需要最终数据。

for ls in json_ls:
    lot = ls.get("lot_number")
    url = url + lotnumber                                                
    response = requests.patch(url, data=json.dumps({'users': [ {'user_id':ls['user_id'], 'status': 'ready'}]}), headers=headers)