TA的每日心情 | 开心 2022-1-21 15:08 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
一张Excel工作表,最多可以包括1048576行和16384列3 t0 K8 F$ p* A2 k& q/ j
( g/ M4 E# q: F显然如果要导出500万行数据是不行的,你可以采取2楼的说法,重排矩阵;
& [4 b! G" L5 V' A8 b另外有两种方式供参考:
$ t) w& S) {' A1.导出csv,可以存放500w行数据;
' n- s7 X7 L' x3 I5 X* W2.按规律导出多excel文件,每个文件导出100w行数据。
* [8 F7 A/ `8 [ u# s5 \% W注意:writematrix需要R2019a版本及以上3 v; g0 Z4 W9 ?! [$ i! _+ Y8 u
n=5000010;7 ~$ i/ s. H* d2 R3 a5 r% I$ x
nmax=1048576;
0 _, Z, a) t. P/ OT=[1:n]';# W- M+ M; S5 g0 S5 h4 f- P ~
% writematrix(T,'out.xlsx');
* \3 V, r7 Q f/ h' ywritematrix(T,'out.csv');
6 }1 ?: d# @, Q. l, B+ P5 T1 F" d/ Q6 b" _4 {: Y; y
sub=1000000;5 z0 P1 e8 g) P
for i=1:ceil(n/sub) 5 |4 J2 K8 @0 {2 D( H
if i==ceil(n/sub)! A0 D# Y& c' d5 O3 ^4 }
writematrix(T((sub*(i-1)+1):end),strcat('part',num2str(i),'.xlsx'));
' g! _4 Z/ x5 h3 i( C- s else/ t+ p* m6 r9 B' O1 ]# U
writematrix(T((sub*(i-1)+1):sub*i),strcat('part',num2str(i),'.xlsx'));1 J9 C$ y/ l& G1 }( x5 R4 T4 k
end
" q1 j& J5 ^; C& ^* i3 X, g6 r5 y* zend |
|