我是R的新手,我正在练习将JSon转换为R,然后转换为CSV或Excel。我从以下位置下载了整套万智牌集:https://mtgjson.com/练习。我使用此代码将其放入"列表"中,但我希望它在数据帧或表中。
json_file<- rjson::fromJSON(file= "C://Users/ahalman/Desktop/AllCards.json")
我试过了:
as.data.frame(json_file)
但我收到一条错误消息:"错误 (函数 (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, : 参数意味着不同的行数:13、10、14、15、11、12、16、19、9、8、6、7、18、4、17、21、23、20、22">
我以为这会修复它,因为我在另一个堆栈溢出页面上看到它,但无论它做什么,它都没有用:
json_file <- lapply(json_file, function(x) {
x[sapply(x, is.null)] <- NA
unlist(x)
})
任何帮助都会很棒。一旦它是数据帧格式,我就得到了这个!
我相信这就是答案:
df<- stringi::stri_list2matrix(json_file, byrow = TRUE)
这适用于前几列,但事情开始变得混乱。不知道为什么。
我想我终于想通了:
newdf<- stringi::stri_list2matrix(json_file, byrow = TRUE, fill = "")