MATLAB Answers

Error using load Number of columns on line 4 of ASCII file " " must be the same as previous lines.

108 views (last 30 days)
load('/Users/Kucharikgradcomp/Desktop/AgroIBIS_inputs/LULC_14_CAMPBELL.m')
indW = find(data(:,18)==1);
dataALL = zeros(53280,1); % grid cell, year, scenario
dataALL(:) = -9999;
i=1:53280;
Data1(indW,:,i) = LULCall(indW,:,i);
cTab = dlmread([foldN 'LULC_color_map.txt'],' ');
createMapPNG3(Data1(:),cTab,fName);

  0 Comments

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 13 Jun 2017
Do not load() .m files. If they contain commands, then execute them, possibly with run() . If they contain data, then use a different file extension and an appropriate import routine.
load() of text files should only be used for rectangular numeric blocks that use space for the delimiter and either have no header at all or else use lines starting with % as the header.
You cannot use load() to read csv-type files
Note: if used save() to create the file and you did not use the -ASCII option at the time you saved, then the file would have been created as binary in mat file format even if you used .m as the file extension, but MATLAB would then expect text format when you tried to load the resulting file because of the .m extension. If you accidentally saved in mat file binary format to a .m file, then rename it to have .mat extension.

  3 Comments

looking for answers
looking for answers on 30 Jul 2019
Hello,
I have a similar problem. I have created a .txt file from a .tsv file, with space delimiter and no letters. Then I try to load it in MATLAB and it reports an error:
>> R = load('test.txt');
Error using load
Number of columns on line 5 of ASCII file test.txt must be the same as
previous lines.
Currently the .txt file contains the following data (5 rows x 1 column):
4,6197054225E-08
1,1422777657599997E-07
2,61117934009E-07
3,01473472356E-07
0
Do you have any suggestions on how to overcome this error?
Thank you for your time.
Stephen Cobeldick
Stephen Cobeldick on 30 Jul 2019
@looking for answers: your file uses decimal commas. MATLAB only accepts decimal points.
Search this forum for discussions on how to import data with decimal commas.
looking for answers
looking for answers on 31 Jul 2019
Hi Stephen, thank you for your advice. Actually, I have a file where both comma + point are used as decimal delimiters. I think I will probably replace commas with points.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by