我在https://www.dropbox.com/s/vtby4027rvprhga/inputR_revised.tsv?dl=0有一个文件名inputR_revised.tsv。
在matlab中,我输入了
fid=fopen('BMC3C/example/inputR_revised.tsv','r')
covTable = textscan(fid,['%s',repmat('%.8n',[1,20])],'HeaderLines',1);
我得到大小为41699乘以1的covTable {1,1}。但是,当我在终端上键入以下内容时
wc -l inputR_revised.tsv
我得到41677。 为什么不同?我已使用sed和cut修改原始文件以获取inputR_revised.tsv。这是原因吗?
有没有办法解决这个问题?
答案 0 :(得分:2)
%.8
是不够的。对于这些情况,小数点后8位后的数字可被视为单独的条目。这将使数量超出预期。扫描格式中的小数位数应使用较高的值。例如,
fid=fopen('BMC3C/example/inputR_revised.tsv','r')
covTable = textscan(fid,['%s',repmat('%.18n',[1,20])],'HeaderLines',1);
这应该为您提供正确的行数。