While trying to write in a.txt or .csv file, I am receiving the message "Index exceeds the number of array elements (0)"

1 view (last 30 days)
I am trying to wite my output into a .csv file and a .txt file after scaning the attached .txt file (imported_PEVT.txt). However, I am getting the following error " Index exceeds the number of array elements (0)". Could anybody please help me in this regard? Thanks.
function main
fid = fopen('imported_PEVT.txt', 'r');
y = [];
m = [];
d = [];
h = [];
mm = [];
v = [];
while feof(fid) == 0
tline = fgetl(fid);
out = sscanf(tline, '%d %d %d %d %d %f');
y1 = out(1);
m1 = out(2);
d1 = out(3);
h1 = out(4);
mm1 = out(5);
v1 = out(6);
y = [y; y1];
m = [m; m1];
d = [d; d1];
h = [h; h1];
mm = [mm; mm1];
v = [v; v1];
end
write_output_file_pevt_notime('pevt_no_t.csv', v);
write_output_file_pevt_wtime('pevt_w_t.txt', y, m, d, h, mm, v);
end
function write_output_file_pevt_notime(fname, v)
fid = fopen(fname, 'w');
fprintf('%f\n',[v]');
fprintf(fid,'%f\n',[v]');
fclose(fid);
end
function write_output_file_pevt_wtime(fname, y, m, d, h, mm, v)
fid = fopen(fname, 'w');
fprintf('%d %d %d %d %d %f\n',[y m d h mm v]');
fprintf(fid,'%d %d %d %d %d %f\n',[y m d h mm v]');
fclose(fid);
end
  2 Comments
Preyanka Dey
Preyanka Dey on 30 Jun 2020
Hi @bharath pro, Error was because of the a empty line in my .txt file. @SC pointed out that. Thanks both of you a lot. I am using Mathlab 2019.

Sign in to comment.

Accepted Answer

SC
SC on 30 Jun 2020
The last line in your text file (line:78889) is an empty line
clear that out & your code works!

More Answers (0)

Categories

Find more on Large Files and Big Data in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!