R 中的 fread 错误——在字符串中嵌入 nul:'\0'
Error with fread in R--embedded nul in string: '\0'
我正在尝试读取大于 4GB 的 csv 文件,但是,当我使用 fread
命令时,它会产生错误
library(data.table)
csv1 <- fread("cleaned.csv",sep = ",",colClasses = "character",showProgress = TRUE)
错误: embedded nul in string: '[=12=]'
经过一番查看,我发现您可以使用 sed
函数
例如 Whosebug Question 但我不知道如何在我的场景中使用它。请帮忙!
更新:
我曾尝试使用 sed 函数,如下面的评论所述,但是,它们会抛出错误。
sed couldn't flush stdout no space left on device
更新2:
我已经在一些 colleagues.However 的帮助下解决了它,我仍在寻求自动化这个 activity 因为我不得不为每个文件重复这个过程。预期的自动化要么来自 R 内部,要么使用 BASH 脚本。有什么建议吗?
csv文件填充了^@,并被放置在空白值内,不知为何无法通过sed commands
搜索或替换,解决了问题,我遵循了以下解决方案。
在linux中,进入文件目录并使用vim命令,例如,
vim filename.csv
:%s/CTRL+2//g
ESC #TO SWITCH FROM INSERT MODE
:wq # TO SAVE THE FILE
我必须为每个文件手动执行此操作。但是,我仍在寻找一种在 R 中或使用 BASH 脚本自动执行此操作的方法。
我正在尝试读取大于 4GB 的 csv 文件,但是,当我使用 fread
命令时,它会产生错误
library(data.table)
csv1 <- fread("cleaned.csv",sep = ",",colClasses = "character",showProgress = TRUE)
错误: embedded nul in string: '[=12=]'
经过一番查看,我发现您可以使用 sed
函数
例如 Whosebug Question 但我不知道如何在我的场景中使用它。请帮忙!
更新: 我曾尝试使用 sed 函数,如下面的评论所述,但是,它们会抛出错误。
sed couldn't flush stdout no space left on device
更新2: 我已经在一些 colleagues.However 的帮助下解决了它,我仍在寻求自动化这个 activity 因为我不得不为每个文件重复这个过程。预期的自动化要么来自 R 内部,要么使用 BASH 脚本。有什么建议吗?
csv文件填充了^@,并被放置在空白值内,不知为何无法通过sed commands
搜索或替换,解决了问题,我遵循了以下解决方案。
在linux中,进入文件目录并使用vim命令,例如,
vim filename.csv
:%s/CTRL+2//g
ESC #TO SWITCH FROM INSERT MODE
:wq # TO SAVE THE FILE
我必须为每个文件手动执行此操作。但是,我仍在寻找一种在 R 中或使用 BASH 脚本自动执行此操作的方法。