2013-07-15 60 views
3

我有一個JSON文件,如下所示:JSON格式CSV格式轉換,使用R

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()等功能,但沒有奏效。 我該怎麼做?請幫助我,謝謝。

+0

請發佈一個(小的,可重現的)對象'raw'的例子。您的解決方案可能與'write.csv(raw,'raw.csv')'一樣簡單,具體取決於您當前擁有的列名稱等等。 –

回答

2

必須有一個更可讀的解決方案...... 以下與NA小號取代了NULL 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 
+0

它的工作,謝謝:) – Benyu