fcell2csv - Fastest Cell Array to CSV-file

Versione 1.1.0 (6,43 KB) da wfH
writes nD cell array into a ASCII delimited file (e.g., *.csv) using c-mex.
64 download
Aggiornato 9 mag 2023

Visualizza la licenza

I've found a series of functions (`cell2csv`) that writes cell array content in to a *.csv file.
All of these functions is inefficient to handle a large cell array (number of nows > 20000), and none can handle a nD cell array.
So, I created this function fcell2csv that adopts c-mex file to improve performance.
`fcell2csv` is about 40~90 times faster than the codes found in FEX !
NOTE!
The c-mex file is necessary.
Run the following code to compile.
mex cell2csv_mex.c -R2018a -O
Run the following code for comparison.
x = [{'This', 'is', 'a', 'cell', 'time', 'test.'}; num2cell([(1:50000)', rand(50000,5)])];
% Compare to built-in `writecell`/ `cell2csv`
tic; writecell(x, 'writecell.csv'); t1 = toc
tic; cell2csv('cell2csv.csv', x); t2 = toc % removing loop % https://www.mathworks.com/matlabcentral/fileexchange/73240-faster-cell-array-to-csv-file-more-improved-cell2csv-m
tic; cell2csv('cell2csv.csv', x); t3 = toc % https://www.mathworks.com/matlabcentral/fileexchange/47055-cell-array-to-csv-file-improved-cell2csv-m
tic; fcell2csv('fcell2csv.csv', x); t4 = toc % my c-mex
On my notebook (i7-8550u)
t1~33.127151 seconds
t2~8.365726 seconds
t3~11.168033 seconds
t4~0.513955 seconds
WIN!!

Cita come

wfH (2024). fcell2csv - Fastest Cell Array to CSV-file (https://www.mathworks.com/matlabcentral/fileexchange/102870-fcell2csv-fastest-cell-array-to-csv-file), MATLAB Central File Exchange. Recuperato .

Compatibilità della release di MATLAB
Creato con R2021b
Compatibile con R2018a e release successive
Compatibilità della piattaforma
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Versione Pubblicato Note della release
1.1.0

feat: flexible input arguments
fix: UTF8 compatibility
feat: Modify default numeric precision

1.0.0