我必须在MATLAB中导入ASCII文件然后读取它们。这些是我尝试过的功能:
1)load(filename)
不起作用:它表示“ASCII文件第2行的列数必须与前一行相同”
2)textscan(file, '-ascii')
返回类似“空单元格数组:1-by-0
3)importdata(file)
返回“data:[2x1 double],textdata:[4x1 cell],colheaders {'* LOS ='}。
它确实有效,正如georgesl所建议的那样,但它将全文视为一个唯一的列:如何跳过标题然后将数据拆分为2列?
如果我将ascii文件转换为dat文件,我注意到一切都没问题,但我有很多文件(超过100个)应该解决。
我该怎么办?
由于
答案 0 :(得分:2)
答案 1 :(得分:1)
我喜欢Shai提到的方法,但通常使用命令textscan
data = textscan(fid, '%s', 'Delimiter', '\n')
所以我最终得到了一个字符串的单元格数组。如果你担心行号,会使事情更容易处理。
答案 2 :(得分:0)
[filename pathname] = uigetfile({'*.txt'}, 'Select File');
fullpathname = strcat (pathname, filename);
A = importdata(fullpathname,'');
value =getfield(A, 'data');
享受吧!