QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5659|回复: 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

    , [9 y) d8 J) {/ u如何用Python提高办公(Excel)效率?2 i' ]5 M6 @1 A2 c: Y* R0 d  N& E
    这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!* A" }6 m8 C1 J/ o
    文章目录
    / s( G7 o) C: @
    . X/ G$ d& Z1 }+ n, q/ j准备xlwt库# ^1 a: \# J' i, |( c
    安装xlwt包1 {0 d1 J, y! w
    Python文件中导入包) Q$ Z/ ?6 J6 E& q/ G+ q
    xlwt使用
    + D& J9 A1 j) o) S创建WorkBook对象
    & U1 u) B* t$ \! L5 ~创建Sheet
    . d3 v" n* D2 b- I5 r- D! i$ Z添加数据5 ]- E% z* k" c! K! |
    保存文件
    # ^, d  N! ]2 l+ }: P% m* D0 s; g拓展
    - F4 X$ K5 @) d, r( n7 U批量插入" ?! k5 n1 a  H0 w2 n3 p
    报错注意* j! F6 g* b2 w% M7 v7 B0 A3 @& C
    准备xlwt库
    - q& t$ i' u0 z; F* r2 l- ?* }6 j7 r
    ; p- v) L, d* p- @- Q; CPython里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
    9 Y2 y! P2 D. R5 _% e- M
    0 |. ]* V4 u: u+ n, \# C4 Q安装xlwt包7 l0 H+ T- c9 Z7 a, U. k$ d

    5 ^& S4 C  E8 C/ SFile ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
    - u6 u; ~- u% Q) _- B  \* \( ^+ F' V) R. e/ _
    1.png 8 G& E2 T% Z1 Y
    2.png - W( e2 U/ }0 [; y  a$ j1 z& L5 B
    ( @  j1 Y+ y7 T. J  ~" \( l
    Python文件中导入包2 }) E4 K" j' t1 Q. l( A2 k
    ! p7 r3 R; m9 W. G, J" R7 m, T
    import xlwt # 导入 xlwt 包2 T! r' V$ r& w9 ~& @
    1
    : @6 }; D' U. ^; H; a, h+ `8 m2 u' fxlwt使用
    ) c3 Q& X3 F- x4 k1 \9 C5 p: |( P8 [1 ~. s
    xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:1 ?$ s' o& j: J8 o! X& ~
    2 j5 q/ ~5 u( c; }) q% o' g+ D. z
    创建WorkBook对象
    ' D, B9 z' s  Y( \$ B. w, b/ p
    创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”2 O- c$ s6 w' \0 W6 G- r5 U3 a9 C/ y

    . G; ^+ Y: b4 ?- ?workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象5 ]  D4 W6 _( I7 Q5 L
    13 Z3 ?0 i7 T6 c$ E- T8 @' d1 S
    还有一个不常用的属性:压缩等级,直接不写就是默认 0
    & d+ ^3 S! |7 t' ^7 i- O* m% H4 E. R% W% l! Q* Q& j
    # style_compression 是表示设置压缩的等级$ X% C' l1 t# q1 G0 q$ H
    workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
    9 m0 T% t; b. A) V. {: M* ^! |5 J$ c4 D1
    - E  ?( @, n3 s2- s1 T  \$ k0 X. x8 p6 O! D2 I$ W
    创建Sheet* B5 M; o; S1 a5 j

    + d3 ^) [. O! g1 f0 R用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作
    ) G% t2 g2 M3 m1 M2 E
    " g9 p- |+ I! DworkSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
      s- t0 B' V$ {  k7 r, G1
    0 S  k. F  W1 h! C. h9 h添加数据
    / E1 g  E5 i' J/ C
    ' j( ~( h7 f- V8 l文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)  c: X2 V# U, x7 H% p

    1 `0 u  J7 Z3 y* pworkSheet.write( 0, 0,"Hello Wolrd !")
    " u% b7 W. k+ ?' G1
    & s) ~2 B8 f8 w  Z' \保存文件0 X& g/ [+ F' b0 g

    ) g& C% n* n+ o; |+ _文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
    . z, \' C" d9 G& W# w
    1 D; ]) [2 \% u4 p8 ^; {. BworkBook.save("Hello World.xls"), |$ l8 |" p9 _* m" k
    1
    ' m4 g. o' y8 W8 b& q' k' x$ `! c! k  ]拓展
    5 r4 o2 ^1 U; u* T
    8 W! J1 l, a# m批量插入: N1 S* D, X9 j+ `( ?

    + [8 H7 z5 o& F$ S( u! \利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!1 e& j8 |- ], M0 E7 U# m1 N% O

    9 c. U7 R0 R" i7 _: e5 Z比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel
    ) j( U! U8 o9 U' M) ^% d4 w% x' F( T4 B4 B3 ?( `
    for i in range(0, 9):
    * ?* |1 g7 d5 L4 M" z    for j in range(0, i+1):
    * B/ v& K* v% V/ R& {( P        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1)))); K- V+ d/ A5 @+ }: ^8 a
    15 B' Q4 T1 g# y; f5 n# V
    2
    8 H3 y3 W) Y+ p3 k  k36 C0 B: M- Y: g  n7 b' E
    当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!# h, J- |2 t2 w9 W$ n" v, F
    . K  f0 B4 n3 `' W: {1 J: Z
    报错注意+ ?" U& J& G7 `. y
    9 R* \/ ]  B+ u* W1 Z
    如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
    : |" c4 \# K/ E0 r
    3 N4 U( O9 |, s1 y# _PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'
    ) f. W% `; f6 u/ F  R( P
    + u) S& T: A- p+ b  z. ]- L$ V7 s5 Y9 X3 ]% \& @; D0 r
    ————————————————. q- _8 D/ ~: q5 z" V, E
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    ' w; @# ]& p8 G3 ?$ T/ R' R3 l原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028+ z. f7 K' f4 [$ y3 j9 F
      e/ W* {( t. W. _

    / E+ {0 h; E' y5 o0 }
    : Y# b" O+ e1 A
    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, 2025-8-18 04:00 , Processed in 0.378003 second(s), 53 queries .

    回顶部