1 T: G2 ^3 U. x0 ?. W* A: `如何用Python提高办公(Excel)效率?
; m+ Z; f& U4 H' I这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
# q1 r# E+ X7 b+ |' }文章目录( [1 ?9 \) W( A/ f0 q# o( b6 Q
. {. U$ r" I. ^6 N准备xlwt库
: \/ |6 J$ r4 R安装xlwt包- X# |+ Q7 {& T& ]/ e; }3 M2 D9 O8 u
Python文件中导入包/ d6 O3 C, L1 b# T% O/ W
xlwt使用) L( g9 R6 x* O3 [- }/ M) e
创建WorkBook对象# z8 B; |, Q4 H7 V
创建Sheet1 R# \7 R0 X9 W4 M; ?: ]
添加数据1 G: ?3 ]+ e7 e4 @; \6 e
保存文件' V& x2 r9 c5 K2 M, ?' Q2 o
拓展
( g) q/ X" A A批量插入; { c8 ?4 _( c9 T1 d
报错注意& ^& b N" T, Z3 y! z. B
准备xlwt库, t% j# P8 L2 I+ j( I4 p6 |
1 `; \, J# I6 PPython里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?- L6 T7 Z( Q( H5 P
" I+ M0 t& e7 E7 C# _7 Z安装xlwt包
$ z6 d5 F. c& F" p& d( D2 c9 @3 R* J1 [: d
File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成% E9 E9 z* s3 P- W. K1 t
: ~3 C* y* p7 }& o7 A7 H6 k
2020-5-30 14:42 上传
下载附件 (317.84 KB)
' j) A) D4 v- r. r$ Q5 I
2020-5-30 14:42 上传
下载附件 (304.18 KB)
$ q U9 l: e3 i' b- [
0 ]# z& Y$ U* d! ?( cPython文件中导入包
8 _: X! W5 E4 [" G" i) X0 _5 O# E
import xlwt # 导入 xlwt 包
& n0 n- k- Z9 W+ c. Z ~13 b) E D9 [/ U9 R
xlwt使用
: K* w0 ?# j5 x" W4 J3 W
7 o$ G% Y9 t; F6 @5 g2 wxlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:
8 F% a" u: {3 M6 u. |/ R% |) D& h* W% w
创建WorkBook对象; d4 Y- }: x! F# L0 a1 j8 q
" z$ `7 N: R4 m' w. ?$ r. g
创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”$ h) q0 O8 I5 ]: Q
# @. B% C7 m% TworkBook = xlwt.Workbook(encoding="utf-8") # 创建workBook对象
; H H, ]2 a3 Y h) v18 P0 {- K: ^5 F" M! H
还有一个不常用的属性:压缩等级,直接不写就是默认 07 ^% d) j- H3 o( E8 M0 ?" W
1 G% J; N) [1 v$ j# style_compression 是表示设置压缩的等级5 l5 C3 t7 [+ }: s4 ^& x) \
workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
z) v* U2 |& R1 [1; Z' q2 [# D# X# G8 Y
2
7 b9 S8 _5 H) m* c8 @/ \4 r创建Sheet
0 L W8 O9 n) N/ K5 V9 ~
- ^; f" Q: O6 i* F用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作
1 L6 |7 m: A4 g9 Z2 |5 h% D% W# k. J8 a
workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
" z$ B% Q' X& F% J5 w/ [, v1
, `6 d0 r! e0 q) C3 d, Y添加数据' B1 t8 J. Z! A: f% a
$ {' n5 S2 ~4 W4 x文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)
( W4 I8 [9 C8 h
+ k; y: K5 F# w/ G/ LworkSheet.write( 0, 0,"Hello Wolrd !"); Q" c3 k5 R8 L% @ c5 U
1
; Y4 V5 s0 W( w/ U& E4 K4 q4 D; S保存文件% i+ _' s0 T9 |. o h' u; ^& o
[4 h- z3 F0 Q# q* B# `: ~3 a' I
文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
0 F9 f& W+ F- i- q
$ \' A+ `0 }' q) ]2 x5 yworkBook.save("Hello World.xls")# f. e7 j6 V' h9 O4 t
11 y- g- j& ? l3 w% V% j* S6 c6 T1 J
拓展
$ F' I, L1 ^2 E
, a% B# W- W# o批量插入
& L" |9 d; V+ H5 W4 p1 H
# e6 C* s+ g! k) }8 u4 R) `" t; n) n利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!: j0 ~) s Y0 {4 u( |& Y8 {, E
; k/ f# @; H7 k, R比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel* G; Y+ H5 S; B
1 O. F3 |+ {# h
for i in range(0, 9):
/ W" w7 O5 E! w7 e1 ? for j in range(0, i+1):1 ?( J6 S9 O, \# @. H
workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))5 V! Y+ ?( q7 o4 S; A+ \
1
4 u# W( [* L" ?- l4 e0 n2
! M: p( q) W) N% B! i36 |6 ^) f% j8 ?1 r" X
当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!' t. r2 {: w, y/ N9 M
% e. U& d3 w9 a7 |报错注意6 W( G" O. \& {, ]$ q
9 [$ t4 j/ [) _0 a& f9 P如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
' ]2 R: n3 J# ]) V+ L+ s
+ r l( s; i4 [PermissionError: [Errno 13] Permission denied: 'xxxxx.xls', v- E( R l! r. {4 B
( v" s: m% T' t2 X: ?
2 J$ q9 _5 x8 |+ I9 }
————————————————( f! t/ ^$ x1 K# b% S" a( M
版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。4 Y6 e$ L$ N" }9 H
原文链接:https://blog.csdn.net/qq_44720366/article/details/1061520283 Z" t+ c; W0 a6 \" E0 P
8 F" Q! F0 G6 R
2 r0 e7 @: |; a
6 P, }9 f* c) Z4 v. Z, `8 k; w" ]( _