首页 > 解决方案 > 如何使用“”、“”之类的分隔符

问题描述

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

不只是一个逗号,而是一个被两个引号包围的逗号。但如果我把它作为分隔符,我有命令:

"DownloadFormat"="","".

而 r 不明白。我怎样才能保护这个分隔符?

标签: rimportdelimiter

解决方案


1) 在 R 上对 SO 提出的 readLines/gsub问题应包括一个完整的可验证示例。没有这样的我们在最后的注释中提供我们自己的。代码可能需要根据实际数据进行修改。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) pipe/sed另一种可能是单线:

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

在 Windows 上,确保您已安装 Rtools,并且 C:\Rtools\bin 在您的 Windows PATH 上(假设默认的 Rtools 安装目录)。尽管这对我在直接 Windows 和使用 bash 的 Linux 上都有效,但由于不同的 shell 处理转义和引用的方式不同,您可能需要根据您使用的 shell 稍微修改它。

笔记

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

推荐阅读