从 R 中的 API 数据将八位字节流解析为数据帧
Parsing octet-stream into data frame from API data in R
我正在尝试解析从 API 中检索的一些数据,但是当我使用 fromJSON():
时,我不断收到以下错误
Error: parse error: trailing garbage
01/28/20|000010102|St. John's|OZ
(right here) ------^
无法运行的脚本:
library(httr)
library(jsonlite)
library(tidyverse)
url<-"https://urldefense.com/v3/__http://files.airnowtech.org/airnow/yesterday/daily_data_v2.dat__;!!J30X0ZrnC1oQtbA!Yh5wIss-mzbpMRXugALJoWEKLKcg1-7VmERQwcx2ESK0PZpM5NWNml5s9MVgwHr5LD1i5w$ "
my_raw_result<-httr::GET(url)
my_content<-httr::content(my_raw_result,as="text")
my_content_from_json<-jsonlite::fromJSON(my_content)
我检查了状态和它的 200,当我 运行 http_type(my_raw_result)
它说“application/octet-stream。这是我第一次尝试从 API 访问数据所以我不知道这意味着什么。我应该使用不同的函数来解析吗?我将不胜感激任何指导。
该数据源不是 JSON 格式。例如,前三行如下所示:
[1] "01/28/20|000010102|St. John's|OZONE-1HR|PPB|37|1|Newfoundland & Labrador DEC|-999|-999|47.652800|-52.816700|124000010102"
[2] "01/28/20|000010102|St. John's|OZONE-8HR|PPB|35|8|Newfoundland & Labrador DEC|32|0|47.652800|-52.816700|124000010102"
[3] "01/28/20|000010501|Grand Falls Windsor|OZONE-1HR|PPB|40|1|Newfoundland & Labrador DEC|-999|-999|49.019400|-55.802800|124000010501"
最好与原始来源核对格式的定义,但它看起来像是一种分隔格式,|
用于分隔列。如果这是真的,这是从 my_content
变量中读取它的一种方法:
my_content_from_delim <- my_content %>% textConnection %>% readLines %>% read.delim(text = ., sep = "|")
我正在尝试解析从 API 中检索的一些数据,但是当我使用 fromJSON():
时,我不断收到以下错误Error: parse error: trailing garbage
01/28/20|000010102|St. John's|OZ
(right here) ------^
无法运行的脚本:
library(httr)
library(jsonlite)
library(tidyverse)
url<-"https://urldefense.com/v3/__http://files.airnowtech.org/airnow/yesterday/daily_data_v2.dat__;!!J30X0ZrnC1oQtbA!Yh5wIss-mzbpMRXugALJoWEKLKcg1-7VmERQwcx2ESK0PZpM5NWNml5s9MVgwHr5LD1i5w$ "
my_raw_result<-httr::GET(url)
my_content<-httr::content(my_raw_result,as="text")
my_content_from_json<-jsonlite::fromJSON(my_content)
我检查了状态和它的 200,当我 运行 http_type(my_raw_result)
它说“application/octet-stream。这是我第一次尝试从 API 访问数据所以我不知道这意味着什么。我应该使用不同的函数来解析吗?我将不胜感激任何指导。
该数据源不是 JSON 格式。例如,前三行如下所示:
[1] "01/28/20|000010102|St. John's|OZONE-1HR|PPB|37|1|Newfoundland & Labrador DEC|-999|-999|47.652800|-52.816700|124000010102"
[2] "01/28/20|000010102|St. John's|OZONE-8HR|PPB|35|8|Newfoundland & Labrador DEC|32|0|47.652800|-52.816700|124000010102"
[3] "01/28/20|000010501|Grand Falls Windsor|OZONE-1HR|PPB|40|1|Newfoundland & Labrador DEC|-999|-999|49.019400|-55.802800|124000010501"
最好与原始来源核对格式的定义,但它看起来像是一种分隔格式,|
用于分隔列。如果这是真的,这是从 my_content
变量中读取它的一种方法:
my_content_from_delim <- my_content %>% textConnection %>% readLines %>% read.delim(text = ., sep = "|")