r - 将 csv 文件导入为 api 查询
问题描述
所以我试图调用“Content-Type:text/csv”API,然后将其转换为 r 中的可读格式。
调用成功,但是管理返回的对象是当前的挑战。
虽然,我已经看到了仅使用 JSON 对象的示例,并且我相信管理这种内容类型应该更容易处理,但这是我第一次直接调用 API。
这是我尝试过的:
library(tidyverse)
library(rjson)
library(jsonlite)
library(RCurl)
library(httr)
## Export Data URL
url = 'http://api.abc.com/api/users'
headers = c('accept' = {'application/json'},
'Accept-Language' = {'hi_IN'},
'User-Agent' = {'Mozilla/4.0'})
## Raw Data
api_raw <- GET(url, add_headers(headers))
api_raw
正如 Shah 所指出的,我已经能够隔离文本响应,但是现在的挑战是将这些数据转换为可读形式。
我尝试了以下方法:
setwd("~/Automated Reports/R/BME-Export")
data <- httr::content(api_raw, as = 'text')
data_2 <- jsonlite::fromJSON(data)
在这里我得到这个错误
错误:解析错误:JSON 文本中此时不允许使用标记,Lat,Long,Popu(就在这里)------^ 另外:警告消息:1:包 'RCurl' 是在 R 版本 4.1.1 下构建的2:包 'httr' 是在 R 版本 4.1.1 下构建的
## Read the data as csv
df_api <- read.csv(data)
在这里我收到以下错误
文件中的错误(文件,“rt”):无法打开连接另外:警告消息:在文件(文件,“rt”)中:无法打开文件
解决方案
尝试使用httr::content
功能。
data <- httr::content(api_raw, 'text')
推荐阅读
- amazon-web-services - AWS 拉姆达;修改版本或别名?
- javascript - 如何在悬停时使元素位于顶部(过渡后)
- rust - 在闭包内共享连接池
- android - 使用 MediaPlayer 快速连续播放短声音
- python - Pandana OSM 加载程序无法识别 bbox
- angular - ng2-chart 带有插件修剪外部标签 - 饼图
- microsoft-graph-api - 执行 Skype 后端请求 GetThreadS2SRequest 失败
- sql - ORA-04091。表正在变异
- java - Spring Boot 导致 HTTP 状态 404 - 未找到
- html - 在 Microsoft Graph Explorer 多部分边界生成格式错误的 json 语法错误