繁体   English   中英

如何将包含撇号的.csv文件读取到R中?

[英]How to read a .csv file containing apostrophes into R?

我很难让R读取包含撇号的.txt或.csv文件。

我的某些列中包含描述性文字,例如“满足客户需求”或“警长代表”。 我的文件在Excel中正确打开(也就是说,所有数据都显示在正确的单元格中;共有3列和大约8000行,并且没有丢失的数据)。 但是,当我要求R读取文件时,会发生以下情况:

data <-read.table("datafile.csv", sep=",", header=TRUE)
  Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  : 
  line 520 did not have 3 elements

(第520行是包含撇号的第一行。)

如果我进入.txt或.csv文件并手动删除所有的撇号,则R会正确读取文件。 但是,如果可以的话,我宁愿保留撇号。

我是R的新手,将不胜感激。

默认情况下, read.table单引号和双引号视为引号字符。 您需要将quote="\\""添加到read.table调用中;或者,您可以只使用read.csv ,默认情况下,该命令仅将双引号作为引号引起来。

从长远来看,彻底研究?read.table中的选项将有回报。 引号的默认值是quote =“ \\”'“,这实际上是R解析该表达式后的两个字符,即单引号和双引号,您可以使用quotes=NA将其从考虑中删除。也可以删除默认为“#”的“ comment.char”,将“ as.is”更改为TRUE可能会有所帮助,以防止将字符串转换为因数。

在read.table中设置参数quote =“ \\\\”应该可以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM