数学建模社区-数学中国
标题:
如何用Python提高办公(Excel)效率?
[打印本页]
作者:
杨利霞
时间:
2020-5-30 14:47
标题:
如何用Python提高办公(Excel)效率?
0 ^/ Q" k C$ O4 }
如何用Python提高办公(Excel)效率?
, Q0 e1 Z; o4 y$ T
这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
0 O. ?- T$ o8 c/ V& O; S0 j0 v
文章目录
" k4 d/ y* }* \# X# ~
: c) L& Z- d# n2 U' u
准备xlwt库
; ]: T, n; o9 s/ z
安装xlwt包
5 c9 Q. M' S7 d& X. M
Python文件中导入包
, V: K- c. k6 q2 h) @( p
xlwt使用
( t+ Q4 Q( {$ U
创建WorkBook对象
' X2 r6 s7 c: y3 k
创建Sheet
5 N: `, S: S" s& Q9 N/ q. J
添加数据
* q4 z) K5 ?) j/ j6 W
保存文件
6 t: p% p8 j8 a& j; U
拓展
3 L; ~2 z$ B* p! J; o6 d
批量插入
' S5 {0 s. ?7 h
报错注意
& y$ f ~! j: z
准备xlwt库
5 C9 a0 K! u8 F4 ? t8 g0 O
8 k" G& O! W0 } L' y+ Y
Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
% m" b8 c& y; x7 e) |' X5 l4 G
\; F8 s8 U- Y& ?, I6 u" K+ G
安装xlwt包
# Q$ q& z1 g- e4 U& L u5 A7 `" G
( ~; R9 U# ? Y4 U
File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
7 d/ z( y* F; M" y8 G, ~& e
* c* e/ ?: i8 J: X
2020-5-30 14:42 上传
下载附件
(317.84 KB)
+ ]6 Z# `' B- [
2020-5-30 14:42 上传
下载附件
(304.18 KB)
/ u/ {" x! {& i5 W6 z
0 G# z( W% Y: w0 t
Python文件中导入包
$ z8 K( e8 ~/ X0 a5 u
1 i/ s4 F4 y9 c% O4 ]9 J
import xlwt # 导入 xlwt 包
: B" t# T' i6 _! \; G h
1
+ \( ]1 f4 x" p2 J% I
xlwt使用
5 _" }% N2 Z) b5 |
8 N2 }" D5 V, S
xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:
6 q. ?3 x# X9 n( u
# C0 }4 I* X% _0 U5 G: F# G
创建WorkBook对象
, X, t6 ~/ E1 s/ h1 D, X0 R/ W% m
& U' n' i8 h8 S9 A/ [+ M6 f6 I/ {2 h
创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”
& ?/ ?. a3 s g' D
' Z) n6 b' R* o( }7 h# R0 \
workBook = xlwt.Workbook(encoding="utf-8") # 创建workBook对象
( d# T9 V$ n0 K, ?( l: i8 L
1
* j. s" Q m9 b
还有一个不常用的属性:压缩等级,直接不写就是默认 0
; o+ ]5 V, Q$ O" c) A/ J* w6 I
+ N4 K! k+ `* e
# style_compression 是表示设置压缩的等级
9 Y$ A8 Y9 d8 C: C
workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
: K$ _7 O) R- q) W3 S, u$ S
1
! h c# S0 T7 ?! f9 O
2
0 R S3 `5 g( i; l7 t- i# ^
创建Sheet
, S. G; x) |. U
$ T' W( y' y u7 B
用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作
$ s4 I! x" F. o* l
6 M7 y: {8 N4 r' }* l" r- ]1 R& ^
workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
- n) k- v5 ]; ^& O% |; z
1
" z" V2 X2 R. I& ^6 Q8 F% o
添加数据
4 R" u* G2 h4 S: B5 @
{6 [ p3 `1 c) P. p2 a+ v
文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)
' s; A/ p% T+ g) N7 A( p# F
" L9 j# z7 T# y$ r
workSheet.write( 0, 0,"Hello Wolrd !")
5 M. s/ m0 I: |. ~1 D
1
6 j2 z1 Y: y1 l# w( j
保存文件
) O5 j# @, M! V' Y5 p4 |3 N
& `* I% n/ u9 ^, C; Z4 P! W6 O
文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
4 W) `: O/ J! T) N! m' M) m) ^
! E7 U# x3 U) K+ U; y1 G/ A. b. c$ x
workBook.save("Hello World.xls")
- u" a& K9 \6 D# Y& s0 r% [
1
5 w6 ?- i- B" H; Q) j4 O
拓展
' Z5 J+ ?9 S I( Q# g$ z9 Y
7 A+ @. L/ O9 T$ Q% L6 }6 o
批量插入
8 I8 ~( ?& J- l& A8 @2 F D# `
. D3 J4 K8 O/ \) ]3 [' d
利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
: R5 R$ a+ Y$ T4 t2 t
% {, V6 e* g O( S% t9 _7 A
比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel
, y% q8 l! L$ Z+ x7 v
) J- c+ a4 h7 q$ }
for i in range(0, 9):
c& Q5 k* M+ r5 {
for j in range(0, i+1):
5 p) y& B b2 v
workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))
! @$ i& m& d$ y+ w( d& E# M
1
6 O x: g7 s8 @2 T! Q) z& [
2
, e: p ~) e' o& U
3
w/ p3 B% A! x% a
当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!
# c% ?7 i7 ?1 |7 s( q% h3 k2 i
8 Y; P# g3 @2 @# U& W$ \
报错注意
! P6 s$ y- _& r5 W/ ?0 ^$ ~, k/ A0 W$ n
4 i# U" j& S/ I8 m( f: l
如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
. s7 Q5 I+ [9 Q. E6 c5 s+ H
2 D4 B. e' s6 D
PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'
; K: x$ N8 E9 r' E2 q, z
) g: O/ {0 P% ?% A7 `
2 H$ L- s- I& f, ~& M
————————————————
! w5 P8 x8 \! }6 _0 I* [9 l
版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
4 U$ t; c, I: @* F
原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028
1 i3 V+ n6 C3 l6 ?% f
& B2 c. e2 H3 B2 s/ x @9 Q
\# H$ ~% ?# ?: a2 j9 Y0 i$ I
; Z8 i( Y% B' ^" Y* E, Q
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5