TA的每日心情 | 开心 2022-1-21 15:08 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
一张Excel工作表,最多可以包括1048576行和16384列
3 m6 H. v; i4 O [) q+ K% d( W0 x+ x1 ]4 b" e! f2 S. F5 I# `
显然如果要导出500万行数据是不行的,你可以采取2楼的说法,重排矩阵;
- c* j7 k c/ |7 K6 R7 P另外有两种方式供参考:
# H& a( I, f, Z5 M. U2 T1.导出csv,可以存放500w行数据;
, r! ^) b+ O }' X# O4 C( X7 a2.按规律导出多excel文件,每个文件导出100w行数据。
1 i1 G7 v3 ~" @- `& }注意:writematrix需要R2019a版本及以上
; ^1 V/ O& E Fn=5000010;
7 K% t3 V* [- }& x7 L+ I L; ?nmax=1048576;( D5 s' r: D% S
T=[1:n]';
- V! b V4 `2 S% v" I% writematrix(T,'out.xlsx');! D* j( F, Q8 F2 I
writematrix(T,'out.csv');
3 b# R7 ^. F5 a3 l' x6 n/ T. B: Z. O
sub=1000000;, k6 E% U5 T8 i7 l
for i=1:ceil(n/sub) 8 @! i5 I% t4 t; ?3 }
if i==ceil(n/sub)* C' n7 W9 t; T+ U( B3 o! K
writematrix(T((sub*(i-1)+1):end),strcat('part',num2str(i),'.xlsx'));- N* W, x @$ ]3 Z" S+ R5 V
else
; p4 F2 m: }4 a& o; _: t writematrix(T((sub*(i-1)+1):sub*i),strcat('part',num2str(i),'.xlsx'));6 q* M( S* Q2 v: u' v! T( ~2 j
end( @. I: r9 \8 o/ y6 b/ \/ S3 J
end |
|