我一直在尝试访问API,该API以下列JSON格式显示:
{" notes":"数据是一个数组(行)数组,列中的行名称 row_headers"," row_headers":[" Date"," Time Spent(seconds)"," Number of 人""活动""分类""生产率和#34;]"行":[[" 2014- 05-28T09:00:00",538,1,"的Gmail""电子邮件", - 1],[" 2014-05-28T09:00: 00",450,1," MS 前景""电子邮件",1],[" 2014-05-28T09:00:00",374,1,"通信器"&# 34;通用 通讯",1],[" 2014-05-28T09:00:00",315,1," MS 终端服务客户端","通用软件 发展",2],[" 2014-05-28T09:00:00",306,1," fivethirtyeight.com""通用 新闻\ 00意见", -
我能够使用Python导入此JSON字典,并使用以下代码将其转换为数据框:
data = json.load(urllib2.urlopen(url))
dataframe = pandas.DataFrame(data['rows'],columns=data['row_headers'])
然而,当我尝试使用以下代码在R中执行类似的操作时,我收到一条错误消息,指出R"无法打开文件' NA':没有这样的文件或目录。& #34;
json_file <- 'url of API key'
raw_json <- fromJSON(file=json_file['raw'])
如果有人对如何将上面显示的JSON对象加载到R数据帧中有任何了解,我将非常感激。
答案 0 :(得分:0)
以下是使用RJSONIO::fromJSON
library(RJSONIO)
raw_json <- fromJSON(content = "https://www.rescuetime.com/anapi/data?rtapi_key=B63NUgr1wbXQS_I6tT8ON0LpvyPPcXNOd1mXfrG9&perspective=interval&format=json&resolution_time=hour&restrict_kind=activity&restrict_begin=2013-01-01&restrict_end=2014-08-28%22")
然后,您可以使用data.table::rbindlist
强制转换为data.table
。
library(data.table)
final_data <- rbindlist(lapply(raw_json[['rows']],setattr,'names', raw_json[['row_headers']]))