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

如何通过httr::PUT高效发送多行DataFrame?

批量PUT请求处理DataFrame多行数据的问题

我对API通信知识有限(正在学习弥补),目前无法一次性对DataFrame的多行执行PUT请求:当df_final仅含1行时,以下代码可正常运行;多行时请求失败并返回400状态码。

问题代码

reqBody <- list(provName = df_final$Provider,site = df_final$Site,
                monthJuly = df_final$July, monthAugust = df_final$August,
                monthSeptember = df_final$September, monthOctober = df_final$October,
                monthNovember = df_final$November ,
                monthDecember = df_final$December, monthJanuary = df_final$January, monthFebruary = df_final$February,
                monthMarch = df_final$March, monthApril = df_final$April, monthMay = df_final$May,
                monthJune = df_final$June,
                assumptions = paste("Monthly Volume:", input$Average, "; Baseline Seasonality:", input$Year, "; Trend:", input$Year_slopes),
                rationale = as.character(input$Comments), fiscalYear = FY_SET, updateDtm = Sys.time())

r <- PUT(fullURL, body = reqBody, encode = "json", content_type_json())

关键现象

用with_verbose()查看请求内容后,发现两种场景下发送的JSON格式存在差异:

  • 单行DataFrame时,生成的JSON为对象格式,可被API正常处理;
  • 多行DataFrame时,生成的JSON为数组格式,导致请求返回400错误。

当前困境

虽然可以用lapply对每行单独发送请求,但DataFrame包含数千行数据,这种逐行请求的方式效率极低,希望能找到更高效的解决方案。

已尝试无效的方法

  • 查阅过PUT请求相关的问题,未找到有效解决思路;
  • 采用逐行转换DataFrame行请求体的循环方法,效率仍不理想。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 15:45:36