【问题标题】:R read.table comma inside escaped quotes inside string字符串内的转义引号内的R read.table逗号
【发布时间】:2017-05-18 16:04:38
【问题描述】:

我有一个 .csv 文件,其中包含这样的情况(为便于阅读而添加了额外的空格):

1, 3 , "string" ,  "string4"     , NA
2, 5 , "string" , "s\"tring\"4"  , 3
1, 3 , "string" , "stri,ng4"     , 5
8, 7 , "string" , "st\"ri,n\"g4" , 5

我正在使用以下语句将其读入 Windows 10 机器上的 RStudio:

read.table("file_name.csv",fill=TRUE, header=FALSE, quote="\"", sep=",", encoding="UTF-8")  

回复如下:

   V1 V2     V3           V4     V5 V6
 1  1  3 string      string4   <NA> NA
 2  2  5 string  s\\tring\\4      3 NA
 3  1  3 string     stri,ng4      5 NA
 4  8  7 string       st\\ri  n\\g4  5

问题似乎是第 5 行中转义引号中的逗号被解释为分隔符。

我期待/正在寻找类似以下的内容,但我不确定如何获得它。

   V1 V2     V3            V4    V5 
 1  1  3 string       string4  <NA>
 2  2  5 string   s\"tring\"4     3
 3  1  3 string      stri,ng4     5
 4  8  7 string  st\"ri,n\"g4     5

我正在考虑使用 grep 重新处理文件以将 \" 更改为 ',但我很好奇是否有更直接的方法。这似乎是一个潜在的常见问题,但我找不到一个很好的解决方案示例。

想法,有人吗?

【问题讨论】:

  • 找到了这个帖子:link data.libraryfread 的建议成功了。
  • 酷!只是为了信息,fread来自data.table,而不是data.library
  • 啊,是的。谢谢,法比奥。

标签: r csv escaping read.table


【解决方案1】:

尝试使用 read.table("file_name.csv")。它给了我想要的输出。

【讨论】:

  • 这没有产生预期的结果。
  • 奇怪,它对我有用...可能是因为我在 Unix 上尝试,而不是在带有 Rstudio 的 Windows 上尝试...它对你产生了什么结果?
猜你喜欢
  • 1970-01-01
  • 2011-12-25
  • 2020-04-05
  • 1970-01-01
  • 2020-02-20
  • 1970-01-01
相关资源
最近更新 更多