Matrix with strings and numbers
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Dear all,
I have a column that contains thousands of the following elements (this is just a sample)
A=[ '2008-12-05 15:59:57'
'2008-12-05 15:59:57'
'2008-12-05 15:59:58'
'2008-12-05 15:59:58'
'2008-12-05 15:59:58'];
and I also have the following matrix that contains thousands of elements (this is just a sample)
B=[39.44 4900
39.44 100
39.44 200
39.44 100
39.44 100];
How can I get a matrix, say C=[A B]; and then save it in an excel?
Is there any code?
Please bear in mind that A and B contain thousands of elements.
Also to create A I used the command datestr(D,31);
Thank you in advance
0 Commenti
Risposte (2)
Ameer Hamza
il 11 Mag 2020
Modificato: Ameer Hamza
il 11 Mag 2020
Normal MATLAB array can only hold data of single type. You need to use cell array. Try something like this
A=[ '2008-12-05 15:59:57'
'2008-12-05 15:59:57'
'2008-12-05 15:59:58'
'2008-12-05 15:59:58'
'2008-12-05 15:59:58'];
B=[39.44 4900
39.44 100
39.44 200
39.44 100
39.44 100];
C = [num2cell(string(A)) num2cell(B)];
writecell(C, 'test.xlsx');
It will work on R2019a and later versions.
6 Commenti
Ameer Hamza
il 11 Mag 2020
ektor, maybe you can try to set the 'UseExcel' option to false (although it should is false by default). Alternatively, you can also experiment by setting it to true
writetable(cell2table(C), 'test.xlsx', 'WriteVariableNames', false, 'UseExcel', false);
and
writetable(cell2table(C), 'test.xlsx', 'WriteVariableNames', false, 'UseExcel', true);
Also, open the MS Excel file and check what datatype the Excel considers this cell to be
01/12/2008 09:30
Steven Lord
il 11 Mag 2020
I recommend converting A into a datetime array and using that to create a timetable array.
2 Commenti
Vedere anche
Categorie
Scopri di più su Spreadsheets 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!