我有许多不同大小的csv文件,但都有点大。使用read.csv
将其读入R需要的时间比我耐心等待到目前为止(几个小时)要长。我设法用data.table
fread
非常快(不到一分钟)读取了最大的文件(2.6 gb)。
当我尝试读取一半大小的文件时,会出现问题。我收到以下错误消息:
fread("C:/Users/Jesper/OneDrive/UdbudsVagten/BBR/CO11700T.csv"
中的错误,期望21个cols,但是2557行包含处理完所有后的文本 COLS。这很可能是由于一个或多个字段所致 不平衡中的嵌入式
sep=';'
和/或(未转义)'\n'
个字符 未转义的报价。
fread
无法处理这些模棱两可的案件 可能没有按预期读入行。请阅读本节 引用?fread
。
通过研究,我发现了将quote = ""
添加到代码中的建议,但它对我没有帮助。我尝试过使用bigmemory
软件包,但是当我尝试时R崩溃了。我使用的是64位系统,内存为8 GB。
我知道在这个问题上有很多线索,但我还没有能够解决任何解决方案的问题。我真的很想使用fread
(鉴于我对较大文件的良好体验),似乎应该有一些方法可以使它工作 - 只是无法解决它。
答案 0 :(得分:1)
通过安装SlickEdit并使用它来编辑导致问题的行来解决此问题。像&符号,引号和撇号这样的一些字符一直被编码为包括分号 - 例如&
而不只是&amp ;.由于分号是文本文档中的分隔符,因此在使用fread
进行阅读时会出现问题。