TA的每日心情 | 开心 2022-1-21 15:08 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
一张Excel工作表,最多可以包括1048576行和16384列3 a* Z2 L' q7 w( `3 F, D
- e0 O+ f/ N+ e, f
显然如果要导出500万行数据是不行的,你可以采取2楼的说法,重排矩阵;, x: g& [$ F3 U! }% g
另外有两种方式供参考:
$ ?( V& L) P+ L% d. n9 h1.导出csv,可以存放500w行数据;
- E. Q$ f' S3 r4 z/ O2.按规律导出多excel文件,每个文件导出100w行数据。7 X; q6 S3 f( ]4 k2 Q. Q. @
注意:writematrix需要R2019a版本及以上
( W2 e& w5 ]4 _" @ N s5 q& j+ |- [n=5000010;4 Z# @- ]& r) z
nmax=1048576;, t6 @$ A2 l3 p( c: Q8 U# u
T=[1:n]';2 f% a" g( H; m% y$ Q) N
% writematrix(T,'out.xlsx'); K$ H- N ?7 i( \
writematrix(T,'out.csv');
" w3 E Z& |! t9 e9 L0 d
7 c8 o9 h8 V- a4 l( Gsub=1000000;* d" H) H0 ^0 P* Z+ ^ T
for i=1:ceil(n/sub) # I" T( Z* |- N7 x; o9 d6 |# [
if i==ceil(n/sub)+ ]( z, ]3 o. {' ?/ Z" x
writematrix(T((sub*(i-1)+1):end),strcat('part',num2str(i),'.xlsx'));
6 L5 `1 ^" E' ^8 w else* @& S) b6 R! q- ~
writematrix(T((sub*(i-1)+1):sub*i),strcat('part',num2str(i),'.xlsx'));
6 e) r7 e0 U' b8 v* \ end
1 f& U, _# F" l; u D3 q$ oend |
|