How can I import multiple Excel files?

files = dir('*.xls');
for i=1:length(files)
x = eval(['importdata(files(i).name)']);
z1 = x.data(:,5); %grabs column 5 from x.data
z2 = x.data(:,6); %grabs column 6 from x.data
%%obtains value closest to 0 in column 'z2'
numb=0;
[~, imin] = min(abs(z2 - numb));
value(i) = z2(imin)
plot(z1,z2)
end
When trying to run the code above, I get this error
>> test2
Warning: File contains uninterpretable data.
> In importdata (line 144)
In test2 (line 3)
Index in position 2 exceeds array bounds.
Error in test2 (line 4)
z1 = x.data(:,5); %grabs column 5 from x.data
However, if I attempt to import ".txt" files it works just fine. How can I import multiple excel files?

4 comentarios

Brrrr, the evil eval. start with replacing this bad command by:
x = importdata(files(i).name);
But the error message will be the same:
Warning: File contains uninterpretable data.
We cannot know, what this means, if you do not post the file.
Asher Zaidi
Asher Zaidi el 6 de Jun. de 2018
Thank you, but unfortunately I am unable to post the file. However, I now suspect that it is a problem with the file itself, as 'xlsread()' is working fine for other excel files, but simply not for the one I need.
xlsread('1.xlsx')
Error using xlsread (line 260)
Invalid zip file "/MATLAB Drive/1.xlsx".
'xlsread()' gives this error above
Asher Zaidi
Asher Zaidi el 6 de Jun. de 2018
I can confirm, after saving the file as an "Excel 97-2003 Workbook" (.xls), it began working fine. Thank you!

Respuestas (0)

La pregunta está cerrada.

Preguntada:

el 6 de Jun. de 2018

Cerrada:

el 6 de Jun. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by