将json编码的日志文件加载到R中进行分析

时间:2015-05-13 07:52:01

标签: json r

我有一个日志文件,每行都有一个json编码的条目:

  

{"的requestId":" 5550d"" PARTNERID":假," IP":" 170.158.3.1& #34;,...}

我尝试读取每一行json_decode,然后追加到数据帧:

loadLogs <- function(fileName) {

  conn <- file(fileName, "r", blocking = FALSE)
  linn <- readLines(conn)
  long <- length(linn)


  df = data.frame(requestId = character(0), 
                  partnerId = character(0), 
                  ip = character(0)
  )

  for (i in 1:long) {
    jsonRow <- fromJSON(linn[i])
    df <- rbind(df, data.frame(requestId = jsonRow$requestId, 
                               partnerId = as.character(jsonRow$partnerId),
                               ip = jsonRow$ip
  }

  close(conn)
  return(df)

}

上面的代码对于大文件来说非常慢。有什么方法可以加快速度吗?我现在可以想到几个选项:

  1. 预先分配数据框作为复制新附加的整个数据
  2. 在json_decode上使用apply函数
  3. ???
  4. 我如何在R中做(1)和(2)?我是新人。

    感谢您查看我的问题。

0 个答案:

没有答案