在此处跟进我之前的问题:Row limit in read.table.ffdf?
我有一个包含> 2.85亿条记录的文本文件,但是大约三分之二的文件是由AWK解释的几个非ASCII字符以及几个R软件包(ff,data.table)作为EOF字节。看起来这些字符最初是作为度数标志输入的,但在文本编辑器中显示为方框(see example here)。当我尝试使用这些方法读取文本文件时,它会在遇到第一个字符时停止,没有错误消息,就像它完成一样。
现在我可以在文本编辑器中打开文件以删除这些字符。但鉴于其数量,这不是该数据集的长期解决方案;我需要能够删除或绕过它们,而无需打开整个文件。我已尝试在R中使用quote选项,并尝试在awk导入期间专门替换所有非ASCII和'CTRL-M'字符,但读取过程始终在第一个字符处停止。有解决方案吗我现在正在使用R和awk,但我对其他选项(python?)开放。谢谢!
答案 0 :(得分:0)
gawk -v BINMODE=3 '{gsub(/[[:cntrl:]]/,"")}1
将删除它们。