我有一个数据帧(gh),其中第二个coloumn包含Json字符串。
>ty<- gh[1,2]
>ty
"{\"color\":\"Multi\",\"size\":\"M\",\"material\":\"Cotton\",\"occasion\":null,\"rise\":null,\"length\":null,\"pattern\":\"Checks\",\"sleeve\":\"Full Sleeves\",\"neck_type\":null,\"fit\":null,\"bra_type\":null,\"wiring\":null,\"color_filter\":\"Multi\",\"type_filter\":null,\"type\":null,\"gender\":\"Men\"}"
在此字符串中应用fromJson()后,我得到如下列表。
>fromJson(ty)
ty
$color
[1] "Multi"
$size
[1] "M"
$material
[1] "Cotton"
$occasion
NULL
$rise
NULL
$length
NULL
$pattern
[1] "Checks"
$sleeve
[1] "Full Sleeves"
$neck_type
NULL
$fit
NULL
$bra_type
NULL
$wiring
NULL
$color_filter
[1] "Multi"
$type_filter
NULL
$type
NULL
$gender
[1] "Men"
我想在数据框中转换此列表我已尝试使用未列表的rbind以及谷歌可以提供的所有内容,但每次获取数据框时都会采用此格式。
> as.data.frame(unlist(ty),stringsAsFactors = F)
unlist(ty)
color Multi
size M
material Cotton
pattern Checks
sleeve Full Sleeves
color_filter Multi
gender Men
但是,如果我使用未列出的内容,我会
>unlist(ty)
color size material pattern sleeve color_filter gender
"Multi" "M" "Cotton" "Checks" "Full Sleeves" "Multi" "Men"
哪个是字符向量。
我希望第一列是第一行,第二列对应的条目应该在第二行,然后是更多这样的行,因为我有近70000个json字符串,这些字符串的列名可能有也可能没有相同的列名称。 请帮我解决这个问题。