Unknown Error
1 回表示 (過去 30 日間)
古いコメントを表示
EDU>> fid = csvread(uigetfile({'*.csv';'*.txt';'*.dat'}, 'Select the CV File'), 2, 1, 'eof');
??? Attempted to access range(3); index out of bounds because numel(range)=0.
Error in ==> dlmread at 108
if r > range(3) || c > range(4), result= []; return, end
Error in ==> csvread at 54
m=dlmread(filename, ',', r, c, rng);
The top is the line I am trying to execute and the bottom is the subsequent error message I am receiving. I have tried trouble shooting it myself but I am not sure what the problem is. Can anyone help?
0 件のコメント
回答 (5 件)
Richard Brown
2012 年 4 月 23 日
The fourth argument to csvread should be a range, i.e. a vector with four entries. You have 'eof'. Try removing this argument and see if this fixes your problem.
Walter Roberson
2012 年 4 月 23 日
csvread() cannot be used for files that have text headers. Not even when you specify the row and column.
If you have text headers, use textscan() directly.
Image Analyst
2012 年 4 月 27 日
csvread expects a bunch of numbers, not mixed numbers and text, and different numbers of things on each line, like you have:
AnalysisSetup, Analysis.Setup.Title, CV US Protocol
Dimension1, 201, 201, 201
Dimension2, 4, 4, 4
DataName, VBias, C, G
DataValue, -10, 7.14698E-11, 7.31843E-06
Since each line is so vastly different, you might have to read each line with fgetl() or fgets() and parse each line depending on what it looks like.
3 件のコメント
Image Analyst
2012 年 4 月 27 日
You can do that if you want. Read each line in one at a time like I said, parse it into things between the commas (you can use allwords for that http://www.mathworks.com/matlabcentral/fileexchange/27184-allwords) and then put those sentence fragments into cells.
参考
カテゴリ
Help Center および File Exchange で Text Files についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!