Unknown Error
이전 댓글 표시
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?
답변 (5개)
Richard Brown
2012년 4월 23일
0 개 추천
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일
0 개 추천
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.
댓글 수: 4
Lukas
2012년 4월 23일
Walter Roberson
2012년 4월 24일
For the case of a file that is numeric except for header lines:
numheader = 1; %adjust to the actual number of headers
numcol = 7; %adjust to the actual number of columns
thisfmt = repmat('%f', 1, numcol);
fid = fopen('CV US Protocol_BD1726-54 1000ud1.csv', 'rt');
C = textscan(fid, thisfmt, 'Delimiter', ',', 'HeaderLines', numheader);
fclose(fid);
If this is not what your file looks like, then a sample of your file would help.
Lukas
2012년 4월 27일
Lukas
2012년 4월 27일
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
Lukas
2012년 4월 27일
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.
Lukas
2012년 5월 4일
카테고리
도움말 센터 및 File Exchange에서 Text Data Preparation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!