QQ登录

只需要一步,快速开始

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

    ; ^" X) U8 T, y如何用Python提高办公(Excel)效率?
    . l4 {# i. v2 x' e8 J这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    # `) W: p6 p) }5 _+ |文章目录
    7 k. u; b! _, g# ~, N# ~
    8 M2 ?6 w3 B" ^0 s' L1 o6 U" A准备xlwt库
    9 {1 F5 w: I6 `  m# D0 r安装xlwt包# F) e7 L' \5 I4 M& [2 l: L- {, s
    Python文件中导入包
    # C3 j: _6 f8 t$ l& X) @- ?; M- wxlwt使用3 ~& q' f$ J9 _
    创建WorkBook对象
    # S, T- C4 s$ U- Q$ W* {创建Sheet0 i1 F' [, D0 s4 P8 G$ h0 o# p6 f5 N
    添加数据: @( f8 q9 O( S3 H. v2 o
    保存文件3 y7 {4 J) C' v: ?# N5 @
    拓展6 a' s# p/ L* X$ V5 Q" y5 G
    批量插入! T$ n) n; w, ~( W# H
    报错注意
      B2 B. i. X$ F: W准备xlwt库
    - p$ g( i1 [% t" O& p; k+ [" ^
    0 ^: h$ S& A: b/ _# G8 TPython里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
    # I  s0 ?* j' C4 C+ }1 b) A2 Y" x, d' ~8 z
    安装xlwt包1 h7 e( z7 ]) Y. v  d4 y

      b8 J* b# ^& wFile ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
    ) s- Q* i, k& ^7 [9 I' e8 A
    ! c5 S5 p9 F$ g% S* H' w' j$ X- O 1.png 9 ]. ?4 J6 O( Q" W* a$ n
    2.png
    , S6 P( S4 M* F! E: a% I$ g7 k. I2 ]2 q" d3 P6 @
    Python文件中导入包7 K9 D6 I2 h" u  v' j

    ; C8 D0 Q0 R& t; c+ Y& @) H# [2 Kimport xlwt # 导入 xlwt 包& S! |, Q( N6 r0 h8 {& F
    1$ Y  O: B6 x1 g/ C. Z. v" \2 {# K
    xlwt使用7 o1 }( K0 n9 P+ p; |

    ( \" {) n# I1 a+ }- X4 ^# W) hxlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:' G: }8 r, X; {  _1 `6 ]& r0 l: v- b

    # q0 S4 ~" I( f' s/ B3 l8 `" o6 b创建WorkBook对象5 \2 N: K* R. N5 m, Y" Y
    0 o+ J# w/ v2 G8 x6 Q5 N4 Y' g
    创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”
    ; d" K# T2 ^. L! `" p# U' x) n7 C8 j, k
    workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象
    : j9 |$ [+ a1 X  I7 W/ ]11 {7 l) I! \; K3 x- h4 _" Q
    还有一个不常用的属性:压缩等级,直接不写就是默认 04 t" Z0 |7 y6 A: S1 f1 @0 J( C& Y
    1 n: L$ ~" _; |" f% A  Z3 [' W, y  s, Z  @
    # style_compression 是表示设置压缩的等级/ c+ f9 S# W4 T! Y3 F+ [
    workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
    " F0 M  O+ E! S# r1
    + |2 ]6 h% N" h3 v& X, N: L2
    % g4 k$ x( D$ @. t创建Sheet4 P* d8 o6 K: S. V0 U9 {* c* O

      T# z: P  e5 I用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作, \; T% H+ p) W
    ( a7 C) w# u( d  {2 @( F1 ]
    workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)0 _4 x7 Y3 i! N* V
    1
    9 B; z& G- K* y添加数据
    7 {, P8 x( e2 Y8 X$ o! t, B7 _& ^% f3 B# X
    文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)
    1 B( B- y( I  G1 ]; I: K
    3 N2 u5 L& i9 f# x" [workSheet.write( 0, 0,"Hello Wolrd !")
    ; S, w, P1 r4 o7 E' X# \& t' R: z/ i1, h- a, S4 n  R
    保存文件! k3 \* N( T" [- n  Z: i! \. U+ P

    ( P# W/ Y" p. W' t! W) S! P8 ~文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)4 x9 F+ l1 b( D! K, O
    / n7 `3 S% ?& J- @4 {8 d& k
    workBook.save("Hello World.xls")
    9 v; A# t$ f: ~+ F' k" y0 A4 z1
    ' L* Y- T) d! ], @3 \4 p拓展
    + z! z2 c) c# C; M2 d# v- q
    3 K) b' }. a/ A9 s批量插入* L: `( r$ |& x6 d
    7 }2 Z, o8 M# m/ F; l/ M/ H
    利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    9 _& n' w4 g1 a- }( [$ ?" M3 h) t- B, m7 f% f9 d
    比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel0 s" K! w. ?% D
    ( Y* a! i" C4 P5 }- r0 ?
    for i in range(0, 9):* b# P' q$ C7 v3 i0 t& D" g
        for j in range(0, i+1):5 f+ s+ ~4 T- {! R* d& q) p
            workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))
    / f: `# p. f+ m9 |. \* t+ z8 e1
    + Z7 z  N1 @' t; x% E4 s: u2
    # w" @$ Y6 ~+ c3
    $ r- ]3 ~: [) n0 b- l当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!, i# j9 A& f" b0 E

    ) j. R8 [' v2 I" {. }+ w  o, l报错注意
    7 a6 B! H& `8 l# _$ M- \" S1 x0 M/ }
    如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!1 k. g1 S  [9 y" W( {: g

    6 Q6 Z' V& Z2 W& |% e0 `7 @PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'2 m9 F' v: @  W/ \. L( L6 M! O: ~
    & I: w; O5 L1 l, \7 [( i
    1 R$ Q/ q9 i4 ~* v  P3 d
    ————————————————9 t; ]+ u. q/ g8 Z# r3 Q$ |
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。, e5 x! L- n1 v( R/ L# f
    原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028- f5 r7 {- J# ~3 N* K8 Z5 ?, `' `7 \

    ! o$ g! w6 I3 v: O- @
    , @; y: \& T" f5 o3 Q" Z, A6 q1 q
    2 o' _  G5 g( N# @" ]
    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-9-1 06:05 , Processed in 0.370041 second(s), 54 queries .

    回顶部