我有JSON值列表(实际上是一个文本文件,其中每一行都是一个JSON对象)。像这样:
{ "id": 1, "name": "john", "age": 18, "education": "master" }
{ "id": 2, "name": "jack", "job": "clerk" }
...
某些值可能会丢失(例如,第一项没有“工作”值,第二项没有“教育”和“年龄”)。
我需要在R中创建数据框,并将所有缺少的列值填充为NA(如果至少一行中存在唯一名称的字段)。如何轻松实现呢?
我已经完成的工作-我安装了“ rjson”包,并将这些行解析为R列表。假设lines变量是line的字符向量。
library(rjson)
lines <- // initialize "lines" var here
jsons <- sapply(lines, fromJSON)
“ jsons”变量变成“列表列表”(每个JSON对象都用R术语转换为列表)。如何将其转换为data.frame?
我想为我提供的示例查看以下数据框:
"id" | "name" | "age" | "education" | "job"
-------------------------------------------
1 | "john" | 18 | "master" | NA
2 | "jack | NA | NA | "clerk"
从plyr
您可以用来rbind.fill
为您添加NA
library(plyr)
rbind.fill(sapply(jsons, data.frame), jsons)
# id name age education job
# 1 1 john 18 master <NA>
# 2 2 jack NA <NA> clerk
或来自 data.table
library(data.table)
rbindlist(jsons, fill=T)
和 dplyr
library(dplyr)
bind_rows(sapply(jsons, data.frame))
问题内容: 我检查了一些类似的问题,但似乎没有一个合适的答案(或对我来说足够愚蠢)。因此,我有一个非常简单的WebAPI来检查DB中是否存在带有电子邮件的用户。 AJAX: WebAPI: 现在很明显,这是行不通的。Ajax调用工作正常,但是如何将json对象解析为WebAPI以便能够像调用它一样? 编辑 我无法将电子邮件地址作为字符串传递,因为逗号弄乱了路由。 ajax调用工作正常,该对象被发送
问题内容: 我想知道是否存在一种将多记录JSON文件(每行是一个JSON dict)读入熊猫数据帧的内存有效方式。下面是带有工作解决方案的2行示例,我可能需要非常多的记录。示例用途是处理Hadoop Pig JSonStorage函数的输出。 问题答案: 注意:(自0.19.0开始)现在支持行分隔的json : 或使用文件/文件路径而不是json字符串: 这将取决于您DataFrames的大小,该
Logcat错误 这是我使用robospice的代码 注意:这些相同的代码可以很好地运行一些json输出,一些不同类型的json,我得到了这个错误,我试图找出json结构的确切位置,但我感觉两者都是一样的,所以我很困惑,同时我喊出了这个错误的原因
我是R的新手,想读一个csv文件。但是当我试图阅读它时,我遇到了错误。我的csv文件如下: 当我在RStudio中使用此命令时,我得到了错误:命令: 错误: 读取时出错。表(file=file,header=header,sep=sep,quote=quote,:不允许重复的“row.names” 我还尝试删除错误并使用此命令: 但是当我查看输出时,它不能保持方阵的结构。你能帮我做什么吗?
问题内容: 只是因为一个简单,易于表达的陈述使我的脸上有些错误,所以我有点头疼。 我有一个名为strings.json的json文件,如下所示: 我现在想读取json文件。我发现了以下这些语句,但是不起作用: 控制台上显示的错误是这样的: 已编辑 从更改为 并得到了这个: 问题答案: 该方法(“ load”中没有“ s”)可以直接读取文件: 您正在使用方法,该方法仅用于 字符串 参数。 编辑:新消
我有一个名为Strings.json的json文件,如下所示: 我想读取json文件,现在仅此而已。我发现了这些说法,但它不起作用: 控制台上显示的错误是: 已编辑 从更改为 得到了这个: