QQ登录

只需要一步,快速开始

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

    & R7 M9 r% z, y如何用Python提高办公(Excel)效率?3 @3 B$ ~6 [0 v
    这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!& r' e8 b: W4 w' n( W- ?
    文章目录$ L- p' R( C: W9 C3 }
    % n- `5 {0 x! h  w/ }, f+ V8 ^6 g
    准备xlwt库
    / y. X! Q: m  s" ~安装xlwt包! v& j# }+ A( t5 T% Q  d. A0 E
    Python文件中导入包5 W! O% z0 Q/ G+ n8 W7 H
    xlwt使用
    - c" Q3 [5 [# Z' N创建WorkBook对象: o- ~" V6 h8 @+ [
    创建Sheet
    " [0 F, X7 U5 B6 N, h添加数据
    5 `9 G, J' y5 ]- w保存文件  s; T0 k5 D' ]* J; k) ?, ?4 F
    拓展5 u5 s) F: B7 Q# r
    批量插入6 g. s. D  S' C/ e3 k& o
    报错注意. i# G0 ?, z0 }2 [5 p/ ^
    准备xlwt库2 S1 o, z4 U+ o; h9 Z7 C1 h9 G

      q5 u* ^. @+ a: B- JPython里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
    $ g2 ?2 x  `4 k) ?+ U5 t+ e( f
    - B* B  Y- L0 A2 k安装xlwt包
    1 d, I' I  }6 s9 v. \/ {, J0 ]$ K' X2 [9 E
    File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
      a5 F) e" n6 X8 u# f* f2 t$ g1 w- I( J- W  }* Y5 {# A, N# }
    1.png
    * _% N& O* J  m  D8 q 2.png 8 g! w7 q9 w; T9 \

    . N; N+ F# e  _  UPython文件中导入包; {; u8 L. B% x

    : T2 t( V) ~6 u- {8 f* d4 U, Pimport xlwt # 导入 xlwt 包
    2 Z( j, m2 h+ T# t0 H% e1
    8 K% B4 x/ h. ^. |9 Xxlwt使用9 E+ S8 A1 N% y! c

    ) D; Y& ]( u7 qxlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:% U- B9 A3 ]6 h& n# Z

    / c. ]& C1 m: g6 i" ^创建WorkBook对象" n2 {! w5 Q3 e2 U. P; {
    1 i5 m2 e3 Z) p( V4 C
    创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”, Q1 Q- p( t1 p0 j7 `

    2 k- Q" H& g1 w" H# D0 DworkBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象/ W! k( n! j9 T1 [2 P/ `" {0 W
    1
    ) M* r. e; x% g# u6 S5 W还有一个不常用的属性:压缩等级,直接不写就是默认 0
    % {7 w3 a. n" G9 o
    # _7 b  ?* ~# ?7 [$ l8 d( ]' [# style_compression 是表示设置压缩的等级$ b+ N# X. W9 t2 o% b: ^6 s9 d
    workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)! z. q0 m8 [1 n% Z
    1
    : ?- I7 n4 x0 z8 `4 O2
    ( @5 _$ T) B; B1 ?创建Sheet. z" ]7 L7 T, p" f; v8 o

    2 Z* z. s' E1 |; d; Y用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作% L6 Y5 V! c. Y$ a

    3 T0 W, K- f( J1 @! v) uworkSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
    ) R; h% ]! i* c1; H( q0 E' _* O8 ~/ H# V3 I* {
    添加数据
    : p4 D7 i  ^5 T0 W6 ]! |
    & q6 R; }. s! f7 F1 \% O3 f文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)* P" K$ g2 M  a' A  u$ W2 E% x
      h  S, G4 F5 G: R' v
    workSheet.write( 0, 0,"Hello Wolrd !")
    8 \/ X& R2 w* d! Q% L1
    6 l! i, F5 P. [5 M" m% C6 }保存文件0 G& q8 b# J- o

    * d: e" f' u5 q文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下). K  f# M- v. p3 O9 u9 ^1 V) W

    ) }" y; j6 C# P5 a( b6 A5 PworkBook.save("Hello World.xls")
    : R/ v# \2 }3 Z7 k0 [' l1- \+ d& F5 _5 k- e& U2 F
    拓展, J6 I( s- h3 y( n1 p4 X" p1 {, ^2 o

    $ x& y; U: g; [' Q8 ~/ y7 f/ Q批量插入: l; Q- ~2 y: b# B( M

    ; ]7 ~1 \2 |5 z$ ]- A利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    - b5 i  M+ Q, J; J0 {& ?( K$ g4 p
    # j, a: c  y$ u: |/ a比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel, f6 f& D4 F. G+ a/ h% v

    $ j: x4 H( V% |- p, o9 Q1 D9 E: rfor i in range(0, 9):; o7 i, Z$ B8 y+ C: d/ o- P" [- d
        for j in range(0, i+1):+ |! q, [4 t; K
            workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))
    ( a) k6 @7 ^1 S2 [: |3 q1
    7 @3 }' r& F7 p4 s, W$ o+ {2 e, A2  A1 n- U4 Z1 Q' c$ l
    3
    - W' O' K$ @! |# {6 y8 f) X. P! z当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!0 M2 \, i& g0 K! p. \

    ' Z( `; N6 `+ V" e7 n. n* f* n报错注意
    2 L- v; @' g* |0 ], @( v& k
    " P; {) B) O, r如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
    8 b1 V9 a. b9 o
    9 c- e$ l3 W* ^! UPermissionError: [Errno 13] Permission denied: 'xxxxx.xls'
    6 {' d2 N$ W1 I+ A5 R7 @! |
    1 g$ u* `1 H# ?0 e( U+ I" u! F4 F  B
    ————————————————* t0 z# y' i! J3 p. S. S4 E3 h
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。3 K( u6 v# S$ i; Q
    原文链接:https://blog.csdn.net/qq_44720366/article/details/1061520286 H2 j' B  \* [% g
    5 W1 C7 z5 N  Y  N8 a2 b
    4 |& A' T3 f' _

    7 J/ ]6 C5 d( j# r% z
    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-28 13:35 , Processed in 0.459487 second(s), 54 queries .

    回顶部