【问题标题】:Not able to extract data from API using R无法使用 R 从 API 中提取数据
【发布时间】:2020-12-09 10:38:44
【问题描述】:

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

DF

ID        Code
PO-1      123
PO-3      345
PO-4      222

我想通过 api 中的ID 获取 JSON 的特定响应。

我有像“https://test.com/path/code-info?ID=PO-1”这样的 api,带有标头代码 (x892edrsre34434f)。

JSON 格式:

{"test":1,"FormDetails":{"CusName":"Alex",
"City":"NYC","limit":null,"pincode":null,
"refID":"123456",
"channelID":"YUT009"}}

我想用我的DF 从每个IDrbind 的API 输出中提取CusNamerefID,以获得以下输出。

ID        Code     CusName      refID
PO-1      123      Alex         YUT009
PO-3      345      Carla        YUT098
PO-4      222      Tim          YUT124

我试过了:

Get_Df<-GET("https://***.com", 
    path  = "path/code-info?Id=",
    query = "PO-1", 
    add_headers(token, API key))

【问题讨论】:

    标签: r dataframe dplyr tidyverse jsonlite


    【解决方案1】:

    首先,您的 get 查询似乎无法正常工作,请尝试

    httr::GET(
      "https://test.com", 
      path  = "path/code-info",
      query = list(Id = "PO-1"),
      add_headers(token, API key)
    )
    

    httr::GET(
      "https://test.com", 
      path = paste0("path/code-info?Id=", "PO-1"),
      add_headers(token, API key)
    )
    

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

    test_list <- jsonlite::fromJSON(test)
    test_list$FormDetails$CusName
    test_list$FormDetails$refID
    

    然后您可以首先循环您的数据框以获取所有响应,并且一旦您将它们放入例如一个列表,将所有相关信息提取到一个向量中。我将使用lapply 进行第一个循环,使用purrr 进行提取。为了进一步帮助您,我需要有关数据的更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-17
      • 1970-01-01
      • 2019-07-05
      • 2018-02-16
      • 1970-01-01
      • 2015-02-07
      • 1970-01-01
      相关资源
      最近更新 更多