json格式转换为csv格式,使用R.

时间:2013-07-15 16:42:13

标签: json r csv

我有一个json文件如下:

library(RCurl)
library(RJSONIO)
url <- 'http://www.pm25.in/api/querys/aqi_details.json?city=shijiazhuang&token=5j1znBVAsnSf5xQyNQyq'
web <- getURL(url)
raw <-fromJSON(web)

我想将它转换为csv文件,如下所示:

aqi   area    co     co_24h no2 no2_24h o3 o3_24h o3_8h o3_8h_24h pm10
142   石家庄   1.509  1.412  95      47  3    137    35        90  119
pm10_24h pm2_5 pm2_5_24h position_name primary_pollutant  quality so2
195      80    108       化工学校       颗粒物(PM2.5)       轻度污染 33
so2_24h station_code           time_point
32        1028A 2013-07-15T23:00:00Z

我使用as.data.frame()和其他函数,但它没有用。 我怎样才能做到这一点?请帮助我,谢谢。

1 个答案:

答案 0 :(得分:2)

必须有一个更易读的解决方案...... 以下内容将NULL替换为NA s, 在每一行调用as.data.frame, 并将行与rbind组合在一起。

tmp <- lapply( raw, function(u) 
  lapply(u, function(x) if(is.null(x)) NA else x)
)
tmp <- lapply( tmp, as.data.frame )
tmp <- do.call( rbind, tmp )
tmp