我有一个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)