R read.csv 如何忽略回车?

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

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

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

line 6257 did not have 20 elements

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

我怎样才能避免这种情况?我无法更改文件本身(脚本将在其他地方运行)。此外,损坏的字符串没有引号(文件中没有字符串)。一种选择是将回车读取为单个空格或\n,但如何?

最佳答案

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

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

我测试了以下内容:
  • 在excel中写了一个csv文件

  • .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
    

    关于R read.csv 如何忽略回车?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30781666/

    相关文章:

    r - 在 R、Rmd、knitr、bookdown 中打印 UTF-8 字符

    r - 数据框中凌乱的日期格式

    Python - 删除所有文件,除了

    excel - 将 Bash 中的 CSV 读入字典/关联数组

    vim - 在编辑器中查看换行符和回车符

    unix - 删除 Unix 中的回车符

    R如何用新的子字符串替换较长字符串中的子字符串

    R:分组条件下聚合大数据帧

    php - 如何使用 PHP 将 CSV 文件读入 MySQL

    arrays - 在 Julia 中将数组转换为 DataFrame 或保存为 CSV