【问题标题】:How to use read.csv or read.table to read comma delimited file where fields have comma and double quotes如何使用 read.csv 或 read.table 读取以逗号分隔的文件,其中字段包含逗号和双引号
【发布时间】:2013-03-21 05:04:17
【问题描述】:

想知道是否有人知道如何使用read.tableread.csv 来读取字段也有命令和/或双引号的逗号分隔文件?

示例:

time, pid, commandline
----------------------
1:00, 123, ksh "test.ksh";echo "hello, world"

如您所见,列命令行有双引号和逗号。我已经使用了 read.table 和 read.csv 并在命令行字段周围添加了额外的双引号,hello 和 world 是分开的。任何想法如何导入此类字段?

【问题讨论】:

  • 是时候找到使用逗号作为分隔符创建存档的人并将其击倒? :-( 。我注意到 MSoft Excel 也无法正确导入。

标签: r


【解决方案1】:

这种情况我已经发生过几次了。我使用stringr 包来完全解决它。

library(stringr)    
x <- '1:00, 123, ksh "test.ksh";echo "hello, world"' 
# You'll probably just use readLines(file("mydata.txt"))
str_split_fixed(x,", ",3)

     [,1]   [,2]  [,3]                                    
[1,] "1:00" "123" "ksh \"test.ksh\";echo \"hello, world\""

【讨论】:

  • 如果你绝对需要没有转义的文本,你可以使用 ?cat
猜你喜欢
  • 2021-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-28
  • 1970-01-01
  • 1970-01-01
  • 2010-10-23
  • 1970-01-01
相关资源
最近更新 更多