QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5929|回复: 0
打印 上一主题 下一主题

如何用Python提高办公(Excel)效率?

[复制链接]
字体大小: 正常 放大
杨利霞        

5273

主题

82

听众

17万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2020-5-30 14:47 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    0 B0 i* x" [  L- k
    如何用Python提高办公(Excel)效率?5 f2 w& F4 \; t. D
    这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!$ _4 }9 I" S* ]/ m! B; j( I8 ]- C
    文章目录
    8 z; p: A$ d. p7 C8 M# j3 f
    + j! |7 Y4 R! Y/ _$ j准备xlwt库3 x9 }) M" Y, K, C/ N
    安装xlwt包
    - H" e) _* ?) r( D- o; UPython文件中导入包# X% I& d9 v  f9 r/ S  D
    xlwt使用
    & C" l. n3 h" Y. i- m: x# ?创建WorkBook对象2 I9 o( u( d( ~0 V/ N9 \7 ?
    创建Sheet3 \1 g) z/ j! s$ ]; H8 M  T) Q) J0 s! f
    添加数据
    ( ?" z8 t; w9 H! r( h/ e1 x6 y保存文件
    , J2 G% l3 X+ X+ T9 p. E4 J8 L拓展9 o7 p. _0 E/ v/ C) B3 q4 r3 B
    批量插入
    ( N: ]/ t( J3 Q6 W5 t/ W& v报错注意/ K* Y4 m" W, M5 K* q
    准备xlwt库4 n, R9 Y  K: G$ E
    9 a2 y+ r3 b. e* A# F
    Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
    2 X' u2 u; K/ Z) H, O8 [! A6 p0 b; D. ?
    安装xlwt包
    1 w  _( |. o- |0 i/ g4 d7 o
      c! R2 E; W9 e" I) w  J/ l3 MFile ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成' x* U, d5 K2 |

    1 P! B. o' v9 w8 ?9 v$ } 1.png + u9 o4 {7 ~: j
    2.png
    9 e% f6 }) a5 Z( D5 N: {' J( t- W- x! q& W8 T2 }2 z. t; l6 L
    Python文件中导入包
    ' {5 S( w/ a% V, _8 E) m
    " d( v" X$ G* [" _5 {2 B" Simport xlwt # 导入 xlwt 包6 k9 j- m! x) M  [6 C
    1* a( f; G5 K3 u  k: A, G
    xlwt使用
    6 f  f( u! \& K( c2 N  z, d$ ~, E+ O  ?8 Y) Z; p; j: l2 f
    xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:
    - X0 b: H1 m( H4 }0 y$ X/ t. j3 \2 q& l/ `+ {  ^
    创建WorkBook对象0 j& H. `6 V) S1 r; e0 D1 K
    ' D  E2 O8 \6 c  V/ r- \
    创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”
    / I5 I  K$ D7 o+ J! P2 v6 m4 n) ?- o8 O. |4 ~# Z) B8 |& K
    workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象& _3 j( f0 O; h* N
    1' D1 b4 J  W! t, Z+ u3 z
    还有一个不常用的属性:压缩等级,直接不写就是默认 0
    ( @& V& d# f$ y; m3 W& r& S  o  v: P' Q
    # style_compression 是表示设置压缩的等级0 u: B! Q" M" R
    workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)7 ?) w+ N( ^6 ~
    1: ?' o5 W) O  Z; I0 z+ A, d- k
    26 E9 @( r$ t# P  w
    创建Sheet
    + `& _- o* `% D% v1 d' w. E8 U! R" v$ o1 b6 k0 N+ [
    用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作* `; C7 D8 y$ y+ M
    5 E8 }4 {8 I% p* Y/ p$ g
    workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)9 i! g8 k7 [& ]7 |5 _
    1
    3 G% Q) S5 R7 T+ b& B2 j7 `添加数据! t  {+ t2 K$ S
    + W! S9 X4 I! o, X; L# @
    文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)
    $ Z7 ~8 Y* H" x/ U6 ~  t$ {6 v+ ^( K  F  H! a5 E, x/ {9 }0 A" ]
    workSheet.write( 0, 0,"Hello Wolrd !"); W6 [/ ?, R8 v: S1 P% O9 U
    1
    " G# `9 T6 d* ~/ t保存文件5 o" ~7 c- [, c5 ?# e8 T6 X! Q- i
    ! Y& f3 r& z* \) g3 K( Z
    文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
    0 S1 [: x( k4 k* }
    $ T8 C; n4 F0 L! ]+ ?. L9 fworkBook.save("Hello World.xls")# Y) D/ e5 i4 W9 B% j
    11 p3 `6 G5 a# @5 `
    拓展4 v0 p/ ?: w( f% m/ W! Y: h

    ) z2 ~  I; L9 w  Y% S批量插入- R- X, Z  w0 T' u1 k

    ! W1 |4 j' t4 s5 U4 W0 N$ H, c利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!" a) u  I9 J. W6 M; g6 G0 }

    ) u; i1 j- U2 {  R8 L) u比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel
    " H  X9 E/ a4 @, M: A2 H
    - j. ~: V- D1 m/ k4 Q5 Dfor i in range(0, 9):
    ! j% U* c3 L% T- l    for j in range(0, i+1):& P( r2 z& e# }8 e* g
            workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))
    ) t5 Z9 ~4 a' f3 d% X% }1) n- v6 E$ |1 f, k+ o0 O
    2
    3 N* ~/ D; C1 O8 _; h7 s# D, c6 U3 ~32 n( C# R* H8 \5 e% ]
    当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!! F4 Z7 U  J$ S9 p( X) l

    4 j; t/ E1 T2 C) \8 A9 f: o报错注意9 f0 F$ e+ q! u( `, y

    , ], b5 X" R  f- z" S如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
    0 g. o6 T* @/ ]' [/ _3 M% ~4 g
    ; R+ c. v# Z9 A5 M% ~$ cPermissionError: [Errno 13] Permission denied: 'xxxxx.xls'
      X0 M* u. p) Y) y
    9 d3 P/ v( I1 X0 m9 M" H! h* S7 \9 W2 B: x5 W' D. ~
    ————————————————) J+ ?- N" N0 A7 \
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。; D7 Y2 c  ~: O8 ^" i1 e! `, R; ?
    原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028
    ( ]) }3 v4 H* p+ u
    ( h% @- j* U$ c2 g" u4 T8 S$ j3 ?( Z' P+ F+ T* h

    9 T$ j8 n* N; P! l& ?0 }" m
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-18 16:04 , Processed in 0.417019 second(s), 54 queries .

    回顶部