TA的每日心情 | 开心 2022-1-21 15:08 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
一张Excel工作表,最多可以包括1048576行和16384列8 B0 l( Z$ C+ y9 H% T* b% H
1 e% I0 \9 a( E# \+ j& V; j0 b显然如果要导出500万行数据是不行的,你可以采取2楼的说法,重排矩阵;
( L- N- U1 U$ l% M另外有两种方式供参考:
/ {5 J9 p8 \8 P. w3 ~- t1 C- ]1.导出csv,可以存放500w行数据;5 B8 F2 P/ D7 K. q2 H# s
2.按规律导出多excel文件,每个文件导出100w行数据。7 z3 W; l* U- U( z; a7 o4 D
注意:writematrix需要R2019a版本及以上
! R9 \5 M2 j( F' @$ bn=5000010;
/ q: T+ J5 i7 k" j9 I: V- Nnmax=1048576;3 U2 y( x# X& T; _4 l
T=[1:n]';8 d' s( k$ w% A$ ?+ T, r4 g% y
% writematrix(T,'out.xlsx');
8 L; m3 O) m+ k ^0 w& ewritematrix(T,'out.csv');
; c/ j4 Q) t+ e$ n+ A; [& z+ p; {( P9 Z6 g" `
sub=1000000; y# B! [/ U# @% W
for i=1:ceil(n/sub)
* S3 s& u$ B9 @* E- } if i==ceil(n/sub)) o/ {+ p& d/ G- b7 v
writematrix(T((sub*(i-1)+1):end),strcat('part',num2str(i),'.xlsx'));3 q. U; r; @& w% B7 g g
else
8 P5 I/ ~" J1 R writematrix(T((sub*(i-1)+1):sub*i),strcat('part',num2str(i),'.xlsx'));
% u& R* h. K' G8 @/ p) y% F end. n2 e) p7 T2 o; y4 n: V) w
end |
|