大佬教程收集整理的这篇文章主要介绍了R data.table fread命令:如何读取带有不规则分隔符的大文件?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当我的脚本使用read.table()导入时,一切正常,但速度很慢.所以我尝试使用fread,来自data.table包(版本1.9.2),但它给了我这个错误:
Error in fread(txt,header = T,SELEct = c("YYY","MM","DD",: Not positioned correctly after tesTing format of header row. ch=' '
我的数据的前2行和7行看起来像这样:
YYYY MM DD HH mm 19490 40790 1991 10 1 1 0 1.046465E+00 1.568405E+00
因此,开头有第一个空格,日期列之间只有一个空格,其他列之间有任意数量的空格.
我试过用这样的命令来转换逗号中的空格:
DT <- fread( paste("sed 's/\\s\\+/,/g'",txt),header=T,SELEct=c('HHHH','MM','DD','HH') )
没有成功:问题仍然存在,使用sed命令似乎很慢.
Fread似乎不喜欢“任意数量的空间”作为分隔符或开头的空列.任何的想法 ?
这是(可能)最小的可重复示例(40790之后的换行符):
txt<-print(" YYYY MM DD HH mm 19490 40790 1991 10 1 1 0 1.046465E+00 1.568405E+00") testDT<-fread(txt,SELEct=c("YYY","HH") )
谢谢你的帮助 !
更新:
– data.table 1.8.*不会发生错误.在这个版本中,表被读作一个唯一的行,这并不是更好.
更新2
– 如评论中所述,我可以使用sed格式化表格,然后用fread读取它.我在上面的答案中放了一个脚本,在那里我创建了一个样本数据集,然后比较一些system.time().
以上是大佬教程为你收集整理的R data.table fread命令:如何读取带有不规则分隔符的大文件?全部内容,希望文章能够帮你解决R data.table fread命令:如何读取带有不规则分隔符的大文件?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。