我正在循环通过一个 API 来匹配字符串并根据我自己的参考数据集标准化数据。在大多数情况下,API 会给出响应,并将结果填充到输出文件中。但是,当 API 返回 NULL 时,循环停止,我需要删除特定的字符串以使其再次运行。这是一个严重的迭代过程。有没有办法
- 查找 API 将返回 NULL 的字符串?这样的字符串可以在我们的数据中修复
- 在输出文件中为返回 NULL 的字符串填充 NULL 或 NA
我无法共享 API,因为它是在组织内部开发的,但会共享代码。
DESTINATIONS<- subset(DESTINATIONS, DESTINATIONS!="ABCDEF")
df <- data.frame()
for(i in 1:nrow(DESTINATIONS))
{
location_url <- paste0(base_url, "destinations?name=", DESTINATIONS(DESTINATIONS))[i],specs)
destination_res <- GET(location_url)
destination_text <- content(destination_res, "text", encoding = "UTF-8")
location_df1 <- fromJSON(destination_text, flatten = TRUE)
location_df1 <- do.call(c, unlist(location_df1, recursive=FALSE))
location_df1 <- as.data.frame(t(location_df1))
coordinates_a <- select(location_df1, contains("items.country.name"))
coordinates_a <- coordinates_a %>% distinct() %>% t()
coordinates_a <- as.data.frame(coordinates_a)
coordinates_b <- select(location_df1, contains("items.id"))
coordinates_b <- coordinates_b %>% distinct() %>% t()
coordinates_b <- as.data.frame(coordinates_b)
coordinates <- cbind.data.frame(coordinates_a, coordinates_b)
df <- rbind.data.frame(df, coordinates)}
简而言之,如果来自 DESTINATIONS 数据帧的字符串没有来自 API 的响应,则循环中断
感谢您提前提供的所有帮助。