R中的fread错误 - 在字符串中嵌入nul:'\ 0'

时间:2015-07-29 13:08:36

标签: r data.table

我正在尝试读取csv文件> 4GB,但是,当我使用fread命令时,它会产生错误

library(data.table)
csv1 <- fread("cleaned.csv",sep = ",",colClasses = "character",showProgress = TRUE)

错误: embedded nul in string: '\0'

经过一番观察,我发现你可以使用sed功能 例如在这个stackoverflow Question但我不知道如何在我的场景中使用它。请帮忙!

更新 我试图在注释中使用sed函数,但是,它们会引发错误。

sed couldn't flush stdout no space left on device

UPDATE2: 我已经在一些同事的帮助下解决了这个问题。但是,我仍然希望自动执行此活动,因为我必须为每个文件重复此过程。预期的自动化将来自R内或使用BASH脚本。有什么建议吗?

1 个答案:

答案 0 :(得分:4)

csv文件填充了^ @并且它们被放置在空白值内,不知何故它们无法通过sed命令进行搜索或替换以解决问题,我遵循以下解决方案。 在linux中,按照文件目录并使用vim命令,如, vim filename.csv :%S / CTRL + 2 //克 ESC #TO从INSERT MODE切换 :wq#保存文件 我必须手动为每个文件执行此操作。但是,我仍然在寻找一种在R中或使用BASH脚本自动执行此操作的方法。