saving 3 dimensional single data in an Excel file
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Elaheh
am 28 Feb. 2019
Kommentiert: Bob Thompson
am 1 Mär. 2019
Hello all
I have three dimensional epoched data (EEG data, 32*300*14 single ( channels x time points x trials) and I need to save the data in an excel file. However based on the error I got using xlswrite function, it seems that Excel handles only two dimensional data. . How can I save this 3 dimentional data (as 2 dimential i suppose) in an excel file? .
Thank you very much
Zahra
0 Kommentare
Akzeptierte Antwort
Bob Thompson
am 28 Feb. 2019
xlswrite is only able to write data in a 2D format because it can only write to one sheet at a time. In order to write your 3D data you can either reshape the data into a large 2D array, or you can run a loop to save each sheet of your data to a sheet of the excel file.
% Credit to cyclist for this
C = permute(A,[1 3 2]);
C = reshape(C,[],size(A,2),1)
% Or the loop
for i = 1:size(A,3)
xlswrite('myexcelout.xlsx',A,i)
end
2 Kommentare
Bob Thompson
am 1 Mär. 2019
32*14 = 448. The data is organized such that each former sheet has been moved to the tail end of the first page. Therefore, the first 32 rows are the first sheet, the second 32 rows (33 to 64) are the second sheet, and so on.
I do not know where the extra 30 columns came from.
Weitere Antworten (1)
Fangjun Jiang
am 28 Feb. 2019
write each page to each sheet
for k=1:size(data,3)
xlswrite('Book1.xlsx',data(:,:,k),k)
end
This will run xlswrite() k times so it's not most efficient.
You could use Write Data to Excel Spreadsheet Using ActiveX
0 Kommentare
Siehe auch
Kategorien
Mehr zu EEG/MEG/ECoG finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!