这是data.table::fread
(版本1.9.2)中的错误还是错误的用户期望/错误?
考虑这个简单的例子,我有一个值表,TAB
用可能缺少的值分隔.如果第一列中fread
缺少值,则会感到沮丧,但如果其他地方缺少值,则返回data.table
我期望的:
# Data with missing value in first column, third row and last column, second row:
12 876 19
23 39
15 20
fread("12 876 19
23 39
15 20")
#Error in fread("12\t876\t19\n23\t39\t\n\t15\t20") :
# Not positioned correctly after testing format of header row. ch=' '
# Data with missing values last column, rows two and three:
"12 876 19
23 39
15 20 "
fread( "12 876 19
23 39 …
Run Code Online (Sandbox Code Playgroud) > fread('col1,col2\n')
Empty data.table (0 rows) of 2 cols: col1,col2
> fread('col1,col2\n5,4')
col1 col2
1: 5 4
> fread('col1,col2\n5,"4\n3"')
Error in fread("col1,col2\n5,\"4\n3\"") :
Unbalanced quote (") observed on this line: 3"
>
Run Code Online (Sandbox Code Playgroud)
只要跨越多行的值包含在引号中,read.csv就可以导入此csv.
是否应该可以导入它?使用read.csv实际上对我的用例很好.我可以将结果数据帧转换为数据表.但我只是想确保没有这个功能是一个设计决定,而不是尚未测试的东西.