QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5938|回复: 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
    " P% ]9 s  Y8 {  |$ v2 e3 c
    如何用Python提高办公(Excel)效率?) ^4 `1 |7 ?' P; _1 ~- u8 b
    这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!& J7 v' q3 B! B* l( T
    文章目录
    # p* J% H$ E( _5 f* l: a
    " B( T9 s/ Z, s5 e# P' p6 I" P准备xlwt库4 f7 Q6 F  ~. [. K7 Q* U( u
    安装xlwt包
    " O0 h) [8 }: x; j: O- z) @$ v' ~Python文件中导入包
    ( r( r  }6 p8 ^; n, C) kxlwt使用+ D. [4 ?9 q: H8 q% h
    创建WorkBook对象! V4 _( F+ L: j  a2 W6 q* ?
    创建Sheet
    / h+ _1 Y" R1 i3 F- y5 k添加数据
    # G6 r: n/ X3 L' A保存文件
    1 Q6 G( {6 o: O拓展+ O: D3 C/ O- R: K- |. e1 {
    批量插入
    1 G# Q/ c* O( }& q' e. A& L报错注意0 b% ~0 ]( J% `1 j( L$ }
    准备xlwt库
    4 q  \9 b* Y3 K# T- x) B6 f% d- M
    ( v- S, S& F9 l  e4 ZPython里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?5 A, _; I2 R, B
    - T8 F' d( q) N
    安装xlwt包$ g5 R7 U, ]1 R$ n
    * Y2 U- W0 G" L& w0 y; _
    File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成4 L; p8 g5 Z; b$ b, p

    ' d' q" @, @; K' T0 j8 l7 _ 1.png 2 Q0 V# ~% I7 |% B0 X4 H
    2.png
    * P, o, J! K6 [( P! c
    % D* _  r; d" j- G  G, MPython文件中导入包
    3 R, {. z& G0 l, G6 e6 A, `- K4 d- {  l" g. X" S! \9 R
    import xlwt # 导入 xlwt 包
    3 j' M: H  C/ J7 Q2 h1 Y1
    & o3 r! i" K/ n  f9 n+ kxlwt使用: z8 k; x" z* ?9 h' O
    1 x) X( F* J  |& ]# o
    xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:# p4 ?! }4 Y3 W9 l* r% |0 o/ J( p$ T8 f
    # Z5 B: _9 p* F/ X
    创建WorkBook对象
      i2 k, R9 p2 g# }4 W+ ?5 |
    ( @3 W; T+ Q; i% }5 |0 M, F创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”3 A+ p5 l% Q/ R- H. q, }! k: K
    # Y2 Z" `+ \6 |# L0 b) C7 ~9 r
    workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象
    ( ?+ H: v! f' g* h8 I% ]7 M1
    - \# g. J- W% x$ u; M2 e还有一个不常用的属性:压缩等级,直接不写就是默认 0
    # Z/ E4 o3 V' [4 o) _1 B
    % h- N: I' {9 H" x" e# style_compression 是表示设置压缩的等级. @' g& K% G2 |. }
    workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)% e: q* D/ W- c; ?: ]& G* z
    1
    / L1 }% K) M. @1 i2
    ! A7 u: p& Q+ J9 B9 q  q创建Sheet
    1 p+ [6 c% @& d" o+ s+ q% ~! [& {# N# G& Z; ~. A6 U
    用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作1 ]: g. b& S2 V* ]+ K- ]
    2 f1 z4 `! w7 r' e; m- c
    workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)  E6 x- l/ d5 l) H+ p' T: h5 G% D* |
    10 d9 j( J+ _/ L
    添加数据- U6 `1 y  ?: k) D

    % b% C+ J! |  |4 d% i$ c文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)6 j. X, V5 b' ^" ~) N
    . F5 ^) s; B* `- b' I
    workSheet.write( 0, 0,"Hello Wolrd !")
    ; r( {4 n3 q. D: }0 W19 B9 g% E* x/ Y0 d" e: F, I% S2 w
    保存文件0 D$ k; x" K' U7 b! m, Q

    9 f1 ]& T9 ]$ R; K6 J文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)4 u# k2 H7 K$ o/ i; d; }
    + v3 p2 y( |. ^: G" U
    workBook.save("Hello World.xls")
    . C; R" q0 J# T1. J3 B% q; `) ]. l
    拓展" q# q+ U, J7 s' B
    ' W- k) ], \; d& M% N, ?# R( z" X
    批量插入
    * S# p1 i' y: w, Y* g; \. W4 v) E2 U& M5 N1 v( \" j7 u# S
    利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!% C2 }! b+ Z0 n2 d2 w+ X6 @

    - b# l0 q2 u/ X" Q) p+ X" D: J  K) C比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel
    " V: Q8 o* b. r1 a+ i$ d8 [5 ?; d' k, a& ?2 H8 M
    for i in range(0, 9):' M$ G& l% Z( |) J# G
        for j in range(0, i+1):
    $ _5 l$ ^$ q* u2 \. g        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))' h0 I2 a4 J) C. J9 J& {
    1
      t3 r0 b: D# q- n2* F& T* ^8 H5 }. |- H6 [* y$ G
    3
    . G+ U5 {! a) f& r% m当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!* i: i# ?7 S  R9 ?- O- ]
    2 F* u; z/ Q; o# h5 d0 U
    报错注意
    , i! R0 U+ C0 Z" V
      }9 W+ p6 {: w( G如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
    2 t6 B6 O0 r/ v$ n) D* I5 w/ c6 [7 f& x. J+ b7 J1 ~$ B0 O
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'. I0 A$ f' y# W- w: I! b

    1 }2 m; q0 h) ~  Y# b) D' W' L" ?, T* ?+ W' g3 h0 M9 D
    ————————————————& I; Q. C. H' N9 w
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。; x2 H3 L& I0 k
    原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028
    3 j& b, |7 S' \
    . k( H) j( Y6 x9 y$ [4 q5 a
    9 m6 q2 @! y, u) J: c" L4 q4 @3 w2 T; K7 E  U+ Y
    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-21 01:17 , Processed in 0.412547 second(s), 54 queries .

    回顶部