数学建模社区-数学中国

标题: 如何用Python提高办公(Excel)效率? [打印本页]

作者: 杨利霞    时间: 2020-5-30 14:47
标题: 如何用Python提高办公(Excel)效率?
8 Y4 ^9 P: ?# }; q) A! @1 i& o$ O
如何用Python提高办公(Excel)效率?4 A9 Y4 ]# \# I4 {
这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
" ?) W% ~+ S. i' V. t+ r5 a- B文章目录$ @( Z6 E( s4 ]/ U4 M" C/ X
) u! D# h& s0 u% A
准备xlwt库
( y* {$ O' C5 J安装xlwt包
7 C/ |% U$ Q: o3 }' y+ ~" uPython文件中导入包* Q$ F/ L+ c$ o+ W: u; h/ g
xlwt使用0 n8 u) k2 J0 {% A$ \" J
创建WorkBook对象; l- Y2 T2 X$ {6 r8 V
创建Sheet
3 n( s: J! O( V0 ?" u5 t! Q添加数据1 v8 A$ b% I1 e, |( V4 T8 _9 m0 _
保存文件; l5 D4 f) m2 a$ o
拓展
, c: U7 W. Y9 Q* @批量插入, }* G! e: L4 V$ V! f" K$ c7 R% k
报错注意: c% G2 N# P! T7 K$ g  D* x
准备xlwt库4 a. t0 S% ^% v0 v6 E
$ Q% p! M* c2 `# T, c' I
Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
; g0 {/ x; E# g# J8 d+ V+ m* _) G$ b) @4 H8 W5 Z
安装xlwt包# ]$ K% H0 H: {. O# e, L
. C% w# H' g' h* g# ~
File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
: h1 u- T: X! w! R! I- m. [' \1 O% A. y. R
1.png : a( |: g+ I- i  \% X" t: @& M
2.png 6 r+ a4 v! i' M: S4 ~) u

$ E) ~9 T/ a+ ?/ xPython文件中导入包* A" `8 c( l( O' H" d
+ J2 j2 ^- s5 D
import xlwt # 导入 xlwt 包4 f, Y! Q# H1 Z0 H' [( }; l
1  u( I& n: I: H4 ]2 N
xlwt使用# u* N, K9 J$ B9 b" y. p! R( \* [
& p; ^' U* V; J: u" l( ?. \. E
xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:+ Q3 P- ?7 K& Y  ]' F

8 o' z' f$ m& {' r) U; @创建WorkBook对象
8 B& d2 W, z9 k! j& Y7 j0 m* z
5 ?; s8 s0 p& ~3 H& }创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”7 U7 _& t6 b3 d1 \
' ~9 A! c# p% ]" D
workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象6 i* f; P3 p  P, ?9 l- Q
1
" P; u* ?( |! ^+ _1 Q还有一个不常用的属性:压缩等级,直接不写就是默认 0' `2 C3 z1 y, B

) A- \7 J9 K* `- T- t$ N# style_compression 是表示设置压缩的等级" w: \0 M0 k: j+ }9 e' q$ A4 N
workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
" R. m. m% L: e8 l. c' b10 b1 j2 U3 w8 z5 j# r
2
. ?5 b- F7 T  r. F( Z; c( y创建Sheet
+ m* F4 g6 {7 W7 P' R* k% E, g! f7 o, R( y$ A1 f$ O0 g
用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作
+ L1 C' x0 C! A
+ d" O  V2 z* W) `workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
3 @; N+ L$ q" i6 O' n" U) ]" L/ P3 o13 L: |; v( c9 T
添加数据/ g3 E5 I! O4 I/ k
- z4 L9 s9 J  l6 E* I
文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)- a' H/ S0 H8 \

* `5 ]) l8 u3 Q7 t/ `workSheet.write( 0, 0,"Hello Wolrd !")+ T0 e) e. X* n1 }# `" [
15 i- O( O; m) [. ?. E
保存文件' j$ [. [) [0 X- q8 m  n- H; ~% M% a% }
8 r7 a/ S/ v. W. R. r
文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
* j- Q( y8 o# W9 f1 U( Y
- O; h( L2 ]. B3 SworkBook.save("Hello World.xls"). u3 V1 _9 X. z9 b  \8 @9 n2 A& \5 F
1
( k+ a! J0 Z2 @" y' b9 d拓展; u* X7 N( w( h# t

7 S' V& z2 J3 g6 @* D) G" U+ s批量插入
+ }3 V% Y! }% w: M, I7 Q
, g6 \' ^2 n% A+ s! u9 \" x利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
" d0 D( f5 i  D, s" c4 e0 W5 E: L+ |
比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel
2 a& q# q0 }4 u6 s* m" e2 z% x) W1 a1 j
for i in range(0, 9):
- \7 u, {2 r7 ^- s( j5 R    for j in range(0, i+1):9 h/ y8 O7 T. L/ \
        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))
8 u4 x0 q, ^( G0 f( [: Q1
' l/ q, f' n5 k2 g2
) y$ @! x# m; x% s3
. S- E# [  J3 y+ R) O当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!5 l- `- b3 z/ R& o; |% ?/ d

# p% m8 c5 }# U$ }$ S/ v报错注意% I& @* o% l& O0 U  b  R8 }
' r# ]' X- ^) _3 ~" J8 R
如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
/ m( \$ W; H6 f) R0 a9 A  s* L7 i5 Z7 R% v  J
PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'" O7 l7 W3 Q9 Z3 Q
% p0 H" [9 B" }7 `; }
% I& G; k8 X, t5 w2 t+ b& ?
————————————————$ r' M; l( G2 r' _' ?; A; p1 r
版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。2 y+ f! t) C  ]. K  R. r
原文链接:https://blog.csdn.net/qq_44720366/article/details/1061520281 P0 A; f4 ]! k: r8 u9 W& J- ~

+ M% `/ X' W; J0 L3 \' n% ~& T" r& o4 @: v* ~
+ f# {7 \9 O; }3 X9 U# e





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5