帮助阅读TXT文件到matlab

3次浏览(过去30天)
Teshan Rezel
Teshan Rezel 2021年8月26日
评论道: 我J 2021年8月26日
嗨,伙计们,
我有一个很大的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);
3评论
我J
我J 2021年8月26日
这是我的荣幸,但我想你应该接受 @dpb 回答,对于以后的问题,它会更详细,信息更丰富。

登录评论。

接受的答案

dpb
dpb 2021年8月26日
如果你附上一份有代表性的文件就简单多了,但是……
上面的方法通常是错误的——可以通过这种方法单独设置所需的参数,但除了花费大量精力之外,还很容易出错。
关于以上几点的观察——
  1. 选择。DataLines = [48,48];%表示文件中只有一行数据要读取;显然,这与前面描述的“非常大的”文件完全不一致。
  2. 选择。SelectedVariableNames =“关闭”;%,那么这表示只读取六个变量中的一个,忽略其他变量
这些组合在一起并不令人惊讶,但没有像预期的那样起作用。
作为 @Ive J 建议,首先要做的就是使用 readtable 在没有任何选项的情况下,查看文件是否常规—足够让它自己成功读取—即 importdata “成功”强烈暗示你根本不需要任何特殊治疗。我要指出的是,他的评论与输入的‘ NumHeaderLines ', 0 这说明 readtable 文件中的第一条记录是数据。毫无疑问,这只是一个拼写错误。 NumHeaderLines ', 1 代替。
但是,这也不符合你明确使用的 48 在1。在此之上,将意味着在文件的开头有相当大的头部分。同样,没有文件,我们根本无法判断。
如果您有R2019b或更高版本的版本,那么 readtable 它自己完成了所有的输入扫描 detectImportOptions 做的;只有当你有一个较早的版本,或者在那之后仍然有一些东西没有正确识别时,才应该有任何需要。

更多答案(0)

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!