将数据库转储文件读入R中

时间:2012-06-25 21:40:16

标签: database r

我试图找出如何将数据库转储文件读入 R 中的表。

以下是该文件的第一行:

{ "id" : { "id" : "43" }, "type" : "Account::Private", "full_name" : "Joe Doe" }

我需要将其解析为具有相应列标题的表。

我只知道read.tablescan,以及格式良好的数据集的基本命令。

感谢您的帮助。

编辑:

我的db-dump看起来像这样:

{ {"id" : { "id" : "43" }, "type" : "Account::Private", "full_name" : "Joe Doe" }, {"id" : { "id" : "44" }, "type" : "Account::Private", "full_name" : "Jane Doe" }, {"id" : { "id" : "45" }, "type" : "Account::Private", "full_name" : "John Doe" }}

1 个答案:

答案 0 :(得分:1)

数据库转储看起来像JSON结构。我假设多行被包装为一个列表,即在“[”和“]”之间。

此代码段

install.packages('rjson')
library(rjson)
s <- '[  {"id" : { "id" : "43" }, "type" : "Account::Private", "full_name" : "Joe Doe" },
         {"id" : { "id" : "44" }, "type" : "Account::Private", "full_name" : "Jane Doe" },
         {"id" : { "id" : "45" }, "type" : "Account::Private", "full_name" : "John Doe" }]'
js <- fromJSON(s)
d <- data.frame(t(matrix(unlist(js), ncol=3)))
names(d) <- c('id', 'type', 'full_name')
d

给出

  id             type full_name
1 43 Account::Private   Joe Doe
2 44 Account::Private  Jane Doe
3 45 Account::Private  John Doe

如果您发布完整的数据示例,我可以写一个更健壮的代码段(现在列数和标题名称都是硬编码的)。