帮助阅读TXT文件到matlab
3次浏览(过去30天)
显示旧的注释
嗨,伙计们,
我有一个很大的txt文件,我想把它读入Matlab。当我使用“导入数据”选项时,它会读取文件,但当使用“导入选择”时,它会给我一个带有“NaN”的单一文件。我已经尝试输出作为一个函数,实时脚本和脚本,但它给出了相同的结果。
有人能帮我一下吗?
opts = delimitedTextImportOptions(“NumVariables”6“编码”,“UTF16-LE”);
指定范围和分隔符
选择。DataLines = [48,48];
选择。分隔符=“t \”;
指定列名和类型
选择。VariableNames = [“关闭”,“Var2”,“Var3”,“Var4”,“Var5”,“Var6”];
选择。SelectedVariableNames =“关闭”;
选择。VariableTypes = [“替身”,“字符串”,“字符串”,“字符串”,“字符串”,“字符串”];
指定文件级属性
选择。ExtraColumnsRule =“忽略”;
选择。EmptyLineRule =“读”;
指定可变属性
选项= setvaropts(选项,[“Var2”,“Var3”,“Var4”,“Var5”,“Var6”),“WhitespaceRule”,“保存”);
选项= setvaropts(选项,[“Var2”,“Var3”,“Var4”,“Var5”,“Var6”),“EmptyFieldRule”,“汽车”);
导入数据
T = readtable(pathVar, opts);
接受的答案
dpb
2021年8月26日
如果你附上一份有代表性的文件就简单多了,但是……
上面的方法通常是错误的——可以通过这种方法单独设置所需的参数,但除了花费大量精力之外,还很容易出错。
关于以上几点的观察——
- 选择。DataLines = [48,48];%表示文件中只有一行数据要读取;显然,这与前面描述的“非常大的”文件完全不一致。
- 选择。SelectedVariableNames =“关闭”;%,那么这表示只读取六个变量中的一个,忽略其他变量
这些组合在一起并不令人惊讶,但没有像预期的那样起作用。
作为
@Ive J
建议,首先要做的就是使用
readtable
在没有任何选项的情况下,查看文件是否常规—足够让它自己成功读取—即
importdata
“成功”强烈暗示你根本不需要任何特殊治疗。我要指出的是,他的评论与输入的‘
NumHeaderLines ', 0
这说明
readtable
文件中的第一条记录是数据。毫无疑问,这只是一个拼写错误。
NumHeaderLines ', 1
代替。
但是,这也不符合你明确使用的
48
在1。在此之上,将意味着在文件的开头有相当大的头部分。同样,没有文件,我们根本无法判断。
如果您有R2019b或更高版本的版本,那么
readtable
它自己完成了所有的输入扫描
detectImportOptions
做的;只有当你有一个较早的版本,或者在那之后仍然有一些东西没有正确识别时,才应该有任何需要。