Wet*_*eet 12 csv r data.table
说我有第一个test.csv
看起来像这样
,a,b,c,d,e
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用read.csv
它,它工作正常.
read.csv("test.csv",header=FALSE)
# V1 V2 V3 V4 V5 V6
#1 NA a b c d e
#Warning message:
#In read.table(file = file, header = header, sep = sep, quote = quote, :
# incomplete final line found by readTableHeader on 'test.csv'
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试使用读取此文件,则会fread
收到错误.
require(data.table)
fread("test.csv",header=FALSE)
#Error in fread("test.csv", header = FALSE) :
# Not positioned correctly after testing format of header row. ch=','
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,我该怎么做才能纠正这个问题?
对于我来说,我的问题只是第一个?我的文件的行缺少 ID 值。
因此,我能够通过指定autostart
在文件中足够远的位置来弹出非缺失值来解决问题:
fread("test.csv", autostart = 100L, skip = "A")
Run Code Online (Sandbox Code Playgroud)
这保证了当 fread 尝试自动识别sep
和时sep2
,它会在文件中格式正确的位置进行识别。
指定skip
还可以确保fread
找到作为列名称基础的正确行。
如果第一个字段确实没有非缺失值,那么您最好使用 Richard Scriven 的方法或在您最喜欢的文本编辑器中进行查找和替换,从 .csv 中删除该字段。
归档时间: |
|
查看次数: |
3632 次 |
最近记录: |