QQ登录

只需要一步,快速开始

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

    ' m% }! m- }- I7 A如何用Python提高办公(Excel)效率?
    1 f1 U( G; T3 F2 r) [# R这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    ; S3 V, y( b" }# W+ w文章目录' Q; D& e1 r" ]1 i" f+ d" r% a' u

    5 E& d. A4 O" C" _% P4 Y准备xlwt库- m4 u4 a5 }" q% c& C$ T
    安装xlwt包
    1 X- k- k/ S5 Z3 o$ l4 i3 r; jPython文件中导入包4 w/ }3 w8 O  ^  o! [% V" _- |
    xlwt使用6 t# q$ C, x. o( V
    创建WorkBook对象, i1 A( l! C+ @, @/ F
    创建Sheet) @+ e8 A5 r/ t' b1 t
    添加数据
    : o( b+ a2 }; Z5 K9 @保存文件
      ~# \# w- _9 O1 m1 ^9 _拓展
    3 d, R/ Q9 _% X  H2 e. K1 ^批量插入( [- {- t- ?! u, n( I8 O
    报错注意
    ) \( v/ X9 o- F" F, R8 ]* d' H准备xlwt库/ Z5 C3 i  Y( P( U

    6 g5 h9 }" Y4 j7 s3 HPython里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?) J/ [9 J; {8 e0 H' D4 X

    4 l/ E, Q" k6 T# d0 l安装xlwt包
    4 a+ ~- N+ V' m: Y4 D2 t, B
    + s4 l$ ~7 m* U6 y/ {% V& ZFile ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
    1 Q& a6 T9 T' F) I, K2 o, z. d
    ( O# {% e# N) `/ ?9 k 1.png
    ( X2 Z/ r) y: |* n2 G 2.png # p  S: t0 h2 u4 G  p
    + ]5 k9 \2 ^" A) ?3 p, }: k
    Python文件中导入包
    / C5 d) Q! s5 S* j- X" Q& h9 T' Z2 v  }3 \
    import xlwt # 导入 xlwt 包
    ) g. G# q1 U) o6 q. U- c1
    1 J& P9 C# S5 t6 ~5 g; Fxlwt使用* s, o! j4 k' z) b
    7 h% X4 F6 \2 s" ~9 [
    xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:1 M* h' ?7 P% }# h& V9 T3 R
    . l2 K' |: V, }4 \- s
    创建WorkBook对象3 b8 u4 P* T% p, `; X( ^
    3 v: L, N0 z' {. d1 ]  C
    创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”
    & D' J2 X* g/ G) j& _) }7 z- _5 v+ _) m5 s
    workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象- v. x, r: h" ]4 Y! Z9 b
    1+ G2 K( Y! w" P
    还有一个不常用的属性:压缩等级,直接不写就是默认 06 M5 T2 W2 c8 C+ c

    / u$ |2 }# X8 `) N/ D# style_compression 是表示设置压缩的等级0 n8 J7 F; c1 g4 a& y: d
    workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)! {! P$ O$ P# `+ g
    18 L  Y. y+ N) R) O# ]/ A
    22 e1 a- \6 V$ j) Y' j2 ~2 h
    创建Sheet) w# b6 T( V! c( i. _

    " H4 p9 r7 s5 T4 T' Q3 r: a( j用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作
    8 b3 Q; y9 j- O; [6 P  E6 ]
    2 m( E- c: n" T9 O1 [workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
    * G6 _. f- @  Q6 e$ |  e5 w2 n: d1
    " C# U  y8 q( M8 C. G6 r0 O* i% B添加数据
    9 C. F3 G5 {2 s" j, H! q5 B8 M
    . B7 Y: I1 \( B6 G4 _( I文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)
    . ^: T% D! ?& M/ a3 i* q1 V" s( e9 U  x$ g
    workSheet.write( 0, 0,"Hello Wolrd !")6 {% O; r  m/ A1 S% T
    12 k) W  e9 u6 B- N8 {
    保存文件
    ' S/ ]9 w, x5 L2 \# N) [
    9 u/ K) Q2 x# o. E文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
    ' p$ j( z9 j' Z: m  W. `$ P
    3 w- m/ H! y- x1 I* aworkBook.save("Hello World.xls")
    ; o: K8 a1 E/ ^  G1" \& R7 ]( K! f
    拓展! b' b( [+ u; t
    , x5 }+ `- _1 J2 O: b# j/ F
    批量插入
    7 R( I& ?1 U# K7 c% O) w3 z6 o0 v/ I8 b9 @: N) a: v' ?3 s2 e
    利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    " m* a6 O8 B4 k0 U* g6 v9 m9 U! U8 o0 R! \8 C- u
    比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel) g5 b9 b. H' n7 o
    - J  A( G2 v* I4 K% w
    for i in range(0, 9):
    5 S* q+ M4 O1 e! Z5 `: S7 s4 W    for j in range(0, i+1):
    . H. F% L, D  l2 a        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))% z* Y2 ]7 E5 L5 k5 M2 c
    1
    0 W2 ~' I2 t; \2 B8 i2
    ; Y5 o3 u! ~+ {: R7 u* ?3
    " }( K& m1 D7 V5 }当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!9 ~2 B: f5 `* @
    ! n2 `. A  W, _, P
    报错注意
    . H- P9 h5 e8 m( k: ~) e6 F4 l
    - a  v* Z: @. q如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!, e( e) @) y% {( F7 c5 @
      R$ D1 K7 ]4 m) S6 s+ w3 e3 c" c
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'
    % p, o5 Z! m2 g, d$ y* F  k& B# P/ Q) H4 }* T
    ! Q2 o, c0 i# i
    ————————————————5 I3 y& e7 D8 F) v: Q% K1 j; {  F7 w
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    $ Y$ n" j8 i! w原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028
    3 a+ b; Y- o( C6 t) o
    # Y3 t0 T, a3 C
    " C+ L5 g& O4 J; A& ^& j0 {, v; v5 \! k3 x  W
    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-6-9 06:16 , Processed in 0.607990 second(s), 54 queries .

    回顶部