# dummy data
myDf <- data.frame(string = c('["jewelry","tailor","Jewelry"]', '["apple","banana","orange"]'))
library(dplyr)
library(tidyr)
myDf %>%
# select column to split, new column names and regex with capture groups (parts between brakets
tidyr::extract(string, into = c("a", "b", "c"), regex = '"(\\w*)","(\\w*)","(\\w*)"')
a b c
1 jewelry tailor Jewelry
2 apple banana orange
4条答案
按热度按时间qkf9rpyu1#
在
base R
中,我们可以去掉方括号,然后使用read.csv
将列读入data.frame
或者使用
tidyverse
数据
nbysray52#
如果您事先知道最大列数,并且在排序或列分配方面没有间隙(本例中的行少于3列),则使用可选的tidyverse方法:
wh6knrhe3#
这看起来像一个有效的python/json列表。
使用网状:
使用
jsonlite
:或者甚至:
relj7zay4#
jsonlite
到列表列和unnest_wider
:创建于2023年2月13日,使用reprex v2.0.2