Json 将文本文件读入R
如果之前有人问过这个问题,我很抱歉,但我还没有在网上或其他地方找到一个例子 我在一个文本文件中有一个非常脏的数据文件(可能是JSON)。我想在R中分析数据,因为我对这种语言还是新手,我想读入原始数据并根据需要从那里进行操作 我如何从机器上的文本文件中读取JSON?此外,如果它不是JSON,我如何按原样读取原始数据(不解析为列,等等),以便根据需要了解如何解析它 提前谢谢 使用软件包。特别是,请查看中的Json 将文本文件读入R,json,r,Json,R,如果之前有人问过这个问题,我很抱歉,但我还没有在网上或其他地方找到一个例子 我在一个文本文件中有一个非常脏的数据文件(可能是JSON)。我想在R中分析数据,因为我对这种语言还是新手,我想读入原始数据并根据需要从那里进行操作 我如何从机器上的文本文件中读取JSON?此外,如果它不是JSON,我如何按原样读取原始数据(不解析为列,等等),以便根据需要了解如何解析它 提前谢谢 使用软件包。特别是,请查看中的fromJSON函数 如果你想得到更多的指针,那么在下一页搜索rjson。如果你想在R中使用与J
fromJSON
函数
如果你想得到更多的指针,那么在下一页搜索rjson。如果你想在R中使用与JSON相关的包,那么还有很多其他的帖子可以回答这个问题。我想你已经在这个网站上搜索了JSON[r],那里有很多信息 如果您只想逐行读取文本文件并在以后进行处理,则可以使用
scan()
或readLines()
。他们似乎做了同样的事情,但他们之间有一个重要的区别
scan()
用于定义要查找的对象类型、数量等。有关详细信息,请阅读帮助文件。您可以使用scan将每个单词/数字/符号作为向量的元素进行读取,例如scan(filename,”)
。还可以使用特定的分隔符分隔数据。另请参见帮助文件中的示例
要逐行读取,请使用
readLines(filename)
或scan(filename,“,sep=“\n”)
。它将为您提供一个以文件行为元素的向量。这同样允许您对文本进行自定义处理。然后,如果你真的必须经常这样做,你可能会考虑在perl中这样做。 假设你的文件是JSON格式,你可以试试包>强> JSONLITE < /强> OU>强> RJSONIO < /强>或<强> RJSON 。这三个包允许您使用函数fromJSON
要安装软件包,请使用安装.packages功能。例如:
install.packages("jsonlite")
con <- file('myBigJsonFile.json')
open(con)
objects <- list()
index <- 1
while (length(line <- readLines(con, n = 1, warn = FALSE)) > 0) {
objects[[index]] <- fromJSON(line)
index <- index + 1
}
close(con)
而且,无论何时安装软件包,都可以使用函数库进行加载
library(jsonlite)
通常,以行分隔的JSON每行有一个对象。因此,您需要逐行读取并收集对象。例如:
install.packages("jsonlite")
con <- file('myBigJsonFile.json')
open(con)
objects <- list()
index <- 1
while (length(line <- readLines(con, n = 1, warn = FALSE)) > 0) {
objects[[index]] <- fromJSON(line)
index <- index + 1
}
close(con)
con如果可能,最好包含一个示例。我看到了一系列的可能性,从使用rjson到使用scan()或readLines()与正则表达式的组合,这取决于它是否是json。另一方面,如何读入json文件已经在这个网站上得到了无数次的回答。如果这是你的问题,这个应该关闭。