- s7 E, E" I5 }4 H: ` @/ N) P" y + w- Y7 q1 S) w0 p2 h: ^Python文件中导入包) ~! a/ A) X, v* y
/ ^& w" ?0 y2 k' a) @* himport xlwt # 导入 xlwt 包 . ]7 g: H+ ]' g1 ! l( r* W* k' Dxlwt使用 4 ?8 c3 a4 z! S) z* } ) F" c+ D) [, U8 }; {xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走: # j$ {6 k0 H: i) J" e2 U' e/ c1 L' r2 c) ~" D/ e4 U+ g
创建WorkBook对象; {; b1 v8 d2 n0 M
: u1 \/ [4 W) I+ N' S创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”$ g( |8 ]5 H, L9 Y( o- l! n
: F+ |! w; n }% g
workBook = xlwt.Workbook(encoding="utf-8") # 创建workBook对象1 M) Q' t" C. } z! `6 L7 O
1* Y3 `, f- g( Q' o8 E
还有一个不常用的属性:压缩等级,直接不写就是默认 00 d3 T3 h& k- Q& m; [; U e7 F% Q( M
3 n+ b f8 Y2 x7 N; P- R
# style_compression 是表示设置压缩的等级 r- B( ~5 I I& ?
workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)2 E9 d* N( v a3 P# W N
12 u9 h, m" O! y1 n {0 U2 ]
2 2 I9 [5 Q8 k1 b创建Sheet {8 U g b0 m) t3 _
/ T! K" K) [4 g I% G6 {' h用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作+ f, U. _$ Y3 {+ j9 G/ x1 r# g5 l
4 S1 c" v/ S' S ~workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)& C3 J N) C) h! I
11 N: n+ Z# A" o6 v! P
添加数据2 L1 b# N1 B: r; s
' Z3 l! s- b7 a2 ?) m9 F
文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)1 o4 P X$ R, D2 \5 ~" D
4 H3 Q7 k6 n! X" W- p# }* P
workSheet.write( 0, 0,"Hello Wolrd !") G% T7 x2 t" [, i: b) w+ f' g% t) g1. D! C4 ?$ @( o) n
保存文件$ o1 {9 w# s9 ^
: @" u" v+ z! Q文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)4 Z2 p ]8 e3 Z4 p; {( Y* u
& n- U9 Z) ^7 b$ V1 m
workBook.save("Hello World.xls") 8 r; `3 H; E0 r0 `1 . y4 e( M' a# N/ K. ?; H2 _拓展$ I3 n; N2 \$ |
" P/ r3 t Z; G
批量插入 % f0 _3 Z1 Y( y' w. J+ u9 ?) `0 D8 |* m: ]4 ~1 X, `
利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧! : e7 R0 ?1 k* V7 I* W# g o# g/ c, Y1 L s8 Z6 w' z" m
比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel/ Q: Q% I: Q7 p* A: E/ o
4 y z }; |+ E2 l4 G/ Y
for i in range(0, 9):, @* @; a0 E ~- c1 J
for j in range(0, i+1):5 e, c! F* u) F- |) k% U k7 q
workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1)))) 4 {% B( T& H1 I+ F" b3 Y3 y16 k; ^% v. \; e, x/ v) f% y
2/ f+ Q% q7 \1 K* h6 ?8 J
33 a: k5 F7 E$ w) t
当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python! / k: q+ ]) M5 z% @+ _' `8 p+ z. I3 i) f+ U; D
报错注意9 M) D0 _8 C6 A. p