如何使用分隔符,例如“”,“

时间:2019-03-05 10:54:48

标签: r import delimiter

我有问题。 我需要在R中导入数据,但分隔符为","

不仅是逗号,而且是用两个引号引起来的逗号。 但是,如果我将其用作分隔符,则可以使用以下命令:

"DownloadFormat"="","".

r不明白。如何保护此分隔符?

2 个答案:

答案 0 :(得分:1)

1)readLines / gsub 对R上的SO的问题应包括一个完整的可验证示例。没有这种情况,我们将在注释末尾提供我们自己的注释。该代码可能需要根据实际数据进行修改。首先使用readLines逐行读取数据并删除所有双引号。然后使用read.csv重新阅读。

L <- gsub('"', '', readLines("hugo.dat"))
DF <- read.csv(text = L)
DF

给予:

   a  b  c  d
1  1  2  3  4
2 13 14 15 16

2)管道/ sed 另一种可能性是单缸:

read.csv(pipe("sed -e 's/\"//g' hugo.dat"))

在Windows上,请确保已安装Rtools,并且Windows路径(假定是默认的Rtools安装目录)上是C:\ Rtools \ bin。尽管这对于我在使用bash的Windows和Linux上都有效,但是由于使用不同的shell进行转义和引用的方式有所不同,您可能需要根据所使用的shell对其进行少量修改。

注意

Lines <- 'a","b","c","d
1","2","3","4
13","14","15","16'
cat(Lines, "\n", file = "hugo.dat")

答案 1 :(得分:0)

使用 @ G.Grothendieck的示例hugo.dat文件,我们可以添加缺少的引号并将其读取为CSV:

read.csv(textConnection(paste0('"', readLines("hugo.dat"), '"')))

#    a  b  c  d
# 1  1  2  3  4
# 2 13 14 15 16