Splitting an excel file using matlab
13 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
I have a 900,000 row excel file that I want to split to 900 files. I am wondering if i can do this with matlab. the content is a single column with strings like :US000305AA00. Kindly advise otherwise i have to do it manually which is very time consuming.
0 Kommentare
Akzeptierte Antwort
Rick Rosson
am 18 Jul. 2011
Yes, you can do this task with MATLAB. Please try the following:
inputFile = 'myfile';
A = xlsread([ inputFile '.xlsx' ]);
M = 1000;
N = 900;
for k = 0:N-1
outputFile = [ inputFile num2str(k+1,'%03i') '.xlsx' ];
xlswrite(outputFile,A(M*k+(0:M-1)+1));
end
I have tested this code for M = 20 and N = 10, and it works just fine. I suspect, however, that it will take a long time to run for a file containing 900,000 numbers.
HTH.
Rick
8 Kommentare
Rick Rosson
am 18 Jul. 2011
Hi Joseph,
I have given you everything you need to solve this problem. I have tested my code, and it works just fine. Please try to get it to work on your machine with your file. If you assign the correct values to the parameters, use the correct file name and extension, and make sure the file is available on the MATLAB path, it should work.
Weitere Antworten (1)
Walter Roberson
am 18 Jul. 2011
Is the file .csv format or .xls or .xlsx format?
Does the header of the file need to be repeated for each new file?
Is the output fixed at 900 files, or is it fixed at 1000 rows per file?
but if your file does happen to be .csv and you do not need to repeat the header line there might be easier alternatives (especially if you are using MacOS or Linux)
Siehe auch
Kategorien
Mehr zu Spreadsheets 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!