首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用R从API中提取数据

无法使用R从API中提取数据
EN

Stack Overflow用户
提问于 2020-12-09 18:38:44
回答 1查看 88关注 0票数 3

我在R中提到了下面的数据帧:

DF

代码语言:javascript
复制
ID        Code
PO-1      123
PO-3      345
PO-4      222

我想在api中传入ID,以获得来自JSON的具体响应。

我有像"https://test.com/path/code-info?ID=PO-1“这样的带有头代码(X892edrsre34434f)的接口。

JSON格式:

代码语言:javascript
复制
{"test":1,"FormDetails":{"CusName":"Alex",
"City":"NYC","limit":null,"pincode":null,
"refID":"123456",
"channelID":"YUT009"}}

我希望从每个ID的API输出中提取CusNamerefID,并用我的DF对其执行rbind操作,以获得以下输出。

代码语言:javascript
复制
ID        Code     CusName      refID
PO-1      123      Alex         YUT009
PO-3      345      Carla        YUT098
PO-4      222      Tim          YUT124

我试过了:

代码语言:javascript
复制
Get_Df<-GET("https://***.com", 
    path  = "path/code-info?Id=",
    query = "PO-1", 
    add_headers(token, API key))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-09 21:06:48

首先,get查询似乎不能正确工作,请尝试

代码语言:javascript
复制
httr::GET(
  "https://test.com", 
  path  = "path/code-info",
  query = list(Id = "PO-1"),
  add_headers(token, API key)
)

代码语言:javascript
复制
httr::GET(
  "https://test.com", 
  path = paste0("path/code-info?Id=", "PO-1"),
  add_headers(token, API key)
)

然后使用jsonlite或不同的httr::content()类型读取您的JSON

代码语言:javascript
复制
test_list <- jsonlite::fromJSON(test)
test_list$FormDetails$CusName
test_list$FormDetails$refID

然后,你可以首先循环你的数据帧以获得所有的响应,一旦你在列表中有了它们,就把所有相关的信息提取到一个向量中。我将使用lapply作为第一个循环,使用purrr进行提取。为了进一步帮助您,我需要有关数据的更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65215126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档