在R语言中将JSON读取处理后的数据框拆分为指定多列的技术咨询
解决方案:提取指定列生成目标格式
看起来你已经顺利完成了JSON数据的读取与扁平化处理,要得到你期望的三列输出格式非常直接,只需要从生成的a1数据框中选择对应的字段即可。下面是两种常用的实现方式:
方式一:使用dplyr包(推荐,语法更直观)
首先确保你已经加载了dplyr包,如果没安装先执行install.packages("dplyr"):
library(dplyr) # 选择需要的三列 target_df <- a1 %>% select(price_ori, delivery, item_category_detail) # 查看结果 print(target_df)
执行后你会得到如下格式的输出:
price_ori delivery item_category_detail 1 5.52 KL City Health & Beauty 2 3.40 KL City Health & Beauty 3 14.90 KL City Health & Beauty
方式二:使用Base R
如果不想加载额外包,直接用Base R的索引操作也能实现:
# 选择指定列 target_df <- a1[, c("price_ori", "delivery", "item_category_detail")] # 查看结果 print(target_df)
特殊情况处理:如果列名带前缀
如果你的JSON是嵌套结构,执行unlist()后列名可能带有前缀(比如data.price_ori),这时候可以先重命名再选择:
# 用dplyr重命名并选择 target_df <- a1 %>% rename( price_ori = data.price_ori, delivery = data.delivery, item_category_detail = data.item_category_detail ) %>% select(price_ori, delivery, item_category_detail)
内容的提问来源于stack exchange,提问作者Mohd Syazwan




