字符串用逗号和换行符分割

String Split with comma and newline

我有一个字符串看起来像

'"aaa","bbb","ccc","ddd","eee"\n"1","2","3","4","5"\n"6","7","8","9","10"'

我想用逗号和换行符拆分并将其转换为数据帧并获得输出

aaa bbb ccc ddd eee
1   2   3   4  5
6   7   8   9  10

有什么方法可以在 R 中实现吗?

这是一个使用 read.table 的选项,尽管为了使它起作用,我删除了一些引号、逗号和换行符(替换为实际的换行符)。

df <- read.table(header = TRUE, 
                 text="aaa bbb ccc ddd eee 
                 1 2 3 4 5 
                 6 7 8 9 10")              

输出:

  aaa bbb ccc ddd eee
1   1   2   3   4   5
2   6   7   8   9  10

我假设你的字符串是

s = '"aaa","bbb","ccc","ddd","eee"\n"1","2","3","4","5"\n"6","7","8","9","10"'

那你可以试试

> read.table(text = s, header = TRUE, sep = ",")
  aaa bbb ccc ddd eee
1   1   2   3   4   5
2   6   7   8   9  10

一个较短的(感谢@akrun 的评论)是 data.table::fread

> fread(s)
   aaa bbb ccc ddd eee
1:   1   2   3   4   5
2:   6   7   8   9  10

read.csv(感谢@thelatemail的评论)

> read.csv(text = s)
  aaa bbb ccc ddd eee
1   1   2   3   4   5
2   6   7   8   9  10