将JSON行文件转换为R数据框

时间:2020-02-27 12:24:01

标签: r json jsonlines

我有一个json行形式的示例摘录,其中包含单个对象和大约100行。每行大约有800个项目。

以下是数据示例:

Row 1 - {"Id":"User1","OwnerId":"OwnerID1","IsDeleted":false,"Name":"SampleName1", etc...}

Row 2 - {"Id":"User2","OwnerId":"OwnerID2","IsDeleted":true,"Name":"SampleName2", etc...}

我想将其转换为如下所示的数据框:

Id     | OwnerId     |  IsDeleted | Name         |  etc..
User1  | OwnerID1    |  false     | SampleName1  |  etc..
User2  | OwnerID2    |  true      | SampleName2  |  etc..

我在dplyr和tidyr上做了一些实验,但没有解决。

有什么建议可以解决这个问题的最佳方式吗?

我能够通过首先通过JSON验证器解析数据来修复数据格式来解决此问题。一旦我将数据转换为“适当的” JSON格式,就可以很直接地将其作为数据帧在R中使用。

我使用了其他用户建议的jsonLite,并且一切顺利。

install.packages("jsonlite")
library(jsonlite)
KafkaDF <- fromJSON("Kafka_Formatted_Full.JSON")

由于数据结构的原因,需要转换为矩阵。

KafkaDFM = as.matrix(KafkaDF)

然后进行另一种转换,以便可以将其导出为具有正确的列和行对齐方式的csv。

KDF2 <- apply(KafkaDFM, 2, as.character)
write.csv(KDF2,"C:\\Data\\KafkaCompleteClean.csv", row.names = TRUE)

0 个答案:

没有答案