matlab - matlab textscan 给了我错误的行数
问题描述
我在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。这是原因吗?
有没有办法解决这个问题?
解决方案
%.8
如果您打印的小数超过 8 位,这还不够。对于这些情况,小数点后 8 位的数字可以被视为单独的条目。这将产生比预期更多的数字。您应该为扫描格式中的小数位数使用更高的值。例如,
fid=fopen('BMC3C/example/inputR_revised.tsv','r')
covTable = textscan(fid,['%s',repmat('%.18n',[1,20])],'HeaderLines',1);
这应该为您提供正确的行数。
推荐阅读
- wso2 - 处理持久作业时出错 checkDuplicateCSetKey
- performance - 使用 Concatenate 函数比较 SAS Data Step 和 PROC SQL
- sql - 将多行中的信息重新排列为一行
- python-3.x - 使用 Python 的某些文本输入的错误消息
- python - 如何在python中检索完整的文档字符串作为字符串?(调用 help() 时的内容)
- spring-boot - Kotlin SpringBoot 和 JPA - 如何创建 OneToOne 关系?
- php - PHP + CodeIgniter:子目录的引导导航链接活动
- asp.net-core - 有没有办法为 ASP.NET Core 应用程序提供基本身份验证?
- symfony - Symfony Route 不显示在 debug:router 中
- javascript - .map() 在 Array(x) 上返回未定义值的数组