R:有没有办法从跳过某些(不规则)行的文件中读取 data.table?
R: Is there a way to fread data.table from file where some (irregular) lines are skipped?
这是名为 'log.txt' 的示例数据文件(当然,实际上该文件包含更多行):
148 87 40
148 80 47
126 65 49
-
127 57 53
134 64 52
-
136 72 51
128 72 49
R/data.table 中有没有办法从那里读取所有行?
如果我们 运行 dt <- fread("log.txt")
,我们得到错误:
Error in fread("log.txt") :
Expected sep (' ') but new line, EOF (or other non printing character) ends field 0 when detecting types from point 0: -
另一方面,如果我们删除所有“-”,我们的文件 ("log1.txt") 将如下所示:
148 87 40
148 80 47
126 65 49
127 57 53
134 64 52
136 72 51
128 72 49
然后,当我们 运行 dt <- fread("log1.txt")
时,它只读取前三行,并带有警告:
Warning message:
In fread("log1.txt") :
Stopped reading at empty line 4 but text exists afterwards (discarded): 127 57 53
感谢弗兰克,
解决方案:
第 1 步:将应跳过的行设为空白(使用外部编辑器),然后
第 2 步:运行fread(text, blank.lines.skip=TRUE)
这是名为 'log.txt' 的示例数据文件(当然,实际上该文件包含更多行):
148 87 40
148 80 47
126 65 49
-
127 57 53
134 64 52
-
136 72 51
128 72 49
R/data.table 中有没有办法从那里读取所有行?
如果我们 运行 dt <- fread("log.txt")
,我们得到错误:
Error in fread("log.txt") :
Expected sep (' ') but new line, EOF (or other non printing character) ends field 0 when detecting types from point 0: -
另一方面,如果我们删除所有“-”,我们的文件 ("log1.txt") 将如下所示:
148 87 40
148 80 47
126 65 49
127 57 53
134 64 52
136 72 51
128 72 49
然后,当我们 运行 dt <- fread("log1.txt")
时,它只读取前三行,并带有警告:
Warning message:
In fread("log1.txt") :
Stopped reading at empty line 4 but text exists afterwards (discarded): 127 57 53
感谢弗兰克, 解决方案:
第 1 步:将应跳过的行设为空白(使用外部编辑器),然后
第 2 步:运行fread(text, blank.lines.skip=TRUE)