You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将CSV读取的字段值传入requests请求querystring参数

具体实现方法

核心逻辑是对齐两个列表的下标,逐组取出对应的线索ID和处置状态,构造querystring参数后通过requests发起POST请求即可,完整衔接你现有STEP1代码的实现如下:

首先安装缺失的依赖(已安装可跳过):
pip install requests

完整可运行代码:

import pandas as pd
import requests

# ---------------- STEP1 你已实现的CSV读取逻辑 ----------------
df = pd.read_csv("names.csv")
leadid = df["lead_id"].tolist()
disposition = df["disposition"].tolist()

# ---------------- STEP2 线索批量更新逻辑 ----------------
# 替换为你实际使用的Leadspedia线索更新接口地址
API_TARGET_URL = "替换为你的实际接口地址"

# 先校验两列数据行数一致,避免参数错位
if len(leadid) != len(disposition):
    raise ValueError("CSV中lead_id和disposition列行数不匹配,请检查源文件")

# 逐组配对发请求
for single_lead_id, single_disposition in zip(leadid, disposition):
    # 构造querystring参数字典,严格对应接口要求的参数名
    querystring_params = {
        "leadID": single_lead_id,
        "disposition": single_disposition
        # 接口要求的其他固定参数(如api_key)直接在这里追加键值对即可
    }

    try:
        # 发POST请求,params入参会自动把字典转成url拼接的query参数
        response = requests.post(
            url=API_TARGET_URL,
            params=querystring_params,
            timeout=10 # 设置10秒超时,避免请求卡死
        )
        # 打印每条请求的结果方便核对
        print(f"线索{single_lead_id}更新请求已发送,状态码:{response.status_code},返回:{response.text}")
        # 状态码异常时直接抛出错误
        response.raise_for_status()
    except Exception as e:
        print(f"线索{single_lead_id}更新失败,错误:{str(e)}")

关键注意事项

  • requests库中,POST请求的params入参会自动将传入的字典编码为URL querystring拼接在请求地址后,完全匹配你需要的传参位置,不要把这部分参数写到data(表单参数)或json(JSON请求体)入参里,会导致接口无法从query中取到参数。
  • 代码里加了两个列表的长度校验,避免CSV中两列数据行数不一致导致的参数错位问题;遍历使用zip()函数配对,能保证每一组lead_id和disposition都是CSV里同一行的对应值。
  • 代码加了单条请求的异常捕获,单条线索更新失败不会中断整个批量任务,控制台会打印每条请求的状态和返回内容,方便后续排查失败数据。
  • 如果单次要处理的线索量超过1000条,建议在循环内加入请求间隔避免触发接口限流,示例:导入time模块后在每次请求结束后加time.sleep(0.2),控制请求频率为每秒5次。

内容的提问来源于stack exchange,提问作者Keegan Dhue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 17:45:37