R read.csv如何忽略回车?

时间:2015-06-11 13:06:16

标签: r csv carriage-return read.table read.csv

我需要读取一些文本文件(以制表符分隔),在某些字段中有一些回车。

如果我使用read.table,它会给我一个错误:

line 6257 did not have 20 elements

如果我使用read.csv,它不会给出错误,但会在该位置创建一个新行,将下一个字段放在新行的第一个字段中。

我该如何避免这种情况?我无法改变文件本身(脚本将在其他地方运行)。破碎的字符串也没有引号(文件中没有字符串)。一种选择是将回车读作单个空格,或者作为\ n,但是如何?

1 个答案:

答案 0 :(得分:5)

使用read.table而不是read.csv并将allowEscapes设置为TRUE。

read.table("your/path",sep=",",allowEscapes=TRUE)

我测试了以下内容:

  1. 在excel中写了一个csv文件
  2. csv文件的内容:

    1,df,3,"4 
    "
    df,"df
    ",3,a
    

    结果:

      V1   V2 V3   V4
    1  1   df  3 4 \n
    2 df df\n  3    a