Why do I have an Error using readtable?
18 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Does anyone know why I get the following error when running my code (shown below):
Reading failed at line 26. All lines of a text file must have the same
number of delimiters. Line 26 has 0 delimiters, while preceding lines
have 4.
Note: readtable detected the following parameters:
'Delimiter', '\t ', 'MultipleDelimsAsOne', true, 'ReadVariableNames',
false, 'Format', '%q%f%f%f%f'
Error in EXP2_Ver11_Evaluation_of_Meteonorm_simulation (line 68)
T = readtable(File_from_Meteo2, 'Headerlines', 12); %table
starts at line 12
The error mentions "Line 26" but I only ask it to read upto line 12 maximum.
I have also attached one of the files I am reading.
months=1:12;
for m=1:length(months)
tempFileName2 = sprintf('t%d_o%d_zero-mon.txt',t,o);%get the zero file
File_from_Meteo2 = append(pathResults, tempFileName2); %Combine path and file name then assign it to the variable 'File_from_Meteo' to access the file
T = readtable(File_from_Meteo2, 'Headerlines', 12); %table starts at line 12
%If the txt file is for t=1, (i.e. tilt of 0) it represents a situation with no tilt, therefore read colum "H_Ghhor"
if t==1
zero_subset = T(m:m, 'H_Gh');
%Otherewise the txt file represents a situation with a tilt, therefore read colum "H_Gkhor"
else
zero_subset = T(m:m,'H_Gk');
end
0 Commenti
Risposta accettata
Dave B
il 16 Ago 2021
Modificato: Dave B
il 16 Ago 2021
I don't see where you sepcified the last row you wanted to read, you specified to ignore the first 12. Range is good for this kind of thing:
t=readtable('t1_o1_zero-mon.txt','Delimiter','\t','Range','13:24')
As a bonus, you can also read the variable names directly:
t=readtable('t1_o1_zero-mon.txt', 'Delimiter', '\t', 'Range', '11:24', 'ReadVariableNames', true)
6 Commenti
Dave B
il 17 Ago 2021
Absolutely, it's just very slightly more complicated. I tested this code on R2019a:
fn='t1_o1_zero-mon.txt';
opts=detectImportOptions(fn, 'VariableNamesLine', 11, 'Delimiter', '\t');
opts.DataLines=[13 24];
t=readtable(fn,opts)
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Data Type Conversion in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!