QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5982|回复: 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
    4 E+ F( t8 C% q, R, z: j# }3 C
    如何用Python提高办公(Excel)效率?
    0 j9 o' w5 f" l$ }这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    ' _, v' v6 w9 J  Q6 q文章目录
    ; i4 f. j: `: M, I
    & N5 \1 p0 |1 g; |$ t! s: m* G准备xlwt库2 Z4 {3 h4 l% A3 E$ }
    安装xlwt包
    ) I- k% q# u$ A: t. aPython文件中导入包
    ' N; A1 ~+ C/ T  p* Yxlwt使用
    ! Q1 {! B7 B- s# P7 B创建WorkBook对象3 N: v7 S6 B! O& x( w& c! N$ l
    创建Sheet
    ' M8 C$ A  f% Y5 t添加数据
    " o; z; ]% G1 R* `1 F( L; g! d1 v保存文件
    6 N8 x8 s/ c: s: Q! P3 Y1 p拓展" j4 r2 v' u; f5 k
    批量插入. D$ a* s3 v" t  r9 X4 m
    报错注意/ d2 Q! ?$ {1 O/ \
    准备xlwt库8 Z- |9 K$ B0 x/ S) @

    8 V- Q( \  g3 U' r% x  _Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?* H! r* u$ l  m/ ^- O; y* R
    ) v+ L( l3 y  A1 k1 Y2 c
    安装xlwt包2 d! u' P( v+ q" l4 ?9 Q: h

    # z1 e8 h4 Z8 wFile ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
    8 n- S1 b. V/ d2 x% L! O. n
    % P( J4 _! a; W# q  V7 t 1.png & M0 L( Z( z1 G4 X2 k  R3 ~
    2.png
    - s7 E, E" I5 }4 H: `  @/ N) P" y
    + w- Y7 q1 S) w0 p2 h: ^Python文件中导入包) ~! a/ A) X, v* y

    / ^& w" ?0 y2 k' a) @* himport xlwt # 导入 xlwt 包
    . ]7 g: H+ ]' g1
    ! l( r* W* k' Dxlwt使用
    4 ?8 c3 a4 z! S) z* }
    ) F" c+ D) [, U8 }; {xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:
    # j$ {6 k0 H: i) J" e2 U' e/ c1 L' r2 c) ~" D/ e4 U+ g
    创建WorkBook对象; {; b1 v8 d2 n0 M

    : u1 \/ [4 W) I+ N' S创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”$ g( |8 ]5 H, L9 Y( o- l! n
    : F+ |! w; n  }% g
    workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象1 M) Q' t" C. }  z! `6 L7 O
    1* Y3 `, f- g( Q' o8 E
    还有一个不常用的属性:压缩等级,直接不写就是默认 00 d3 T3 h& k- Q& m; [; U  e7 F% Q( M
    3 n+ b  f8 Y2 x7 N; P- R
    # style_compression 是表示设置压缩的等级  r- B( ~5 I  I& ?
    workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)2 E9 d* N( v  a3 P# W  N
    12 u9 h, m" O! y1 n  {0 U2 ]
    2
    2 I9 [5 Q8 k1 b创建Sheet  {8 U  g  b0 m) t3 _

    / T! K" K) [4 g  I% G6 {' h用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作+ f, U. _$ Y3 {+ j9 G/ x1 r# g5 l

    4 S1 c" v/ S' S  ~workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)& C3 J  N) C) h! I
    11 N: n+ Z# A" o6 v! P
    添加数据2 L1 b# N1 B: r; s
    ' Z3 l! s- b7 a2 ?) m9 F
    文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)1 o4 P  X$ R, D2 \5 ~" D
    4 H3 Q7 k6 n! X" W- p# }* P
    workSheet.write( 0, 0,"Hello Wolrd !")
      G% T7 x2 t" [, i: b) w+ f' g% t) g1. D! C4 ?$ @( o) n
    保存文件$ o1 {9 w# s9 ^

    : @" u" v+ z! Q文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)4 Z2 p  ]8 e3 Z4 p; {( Y* u
    & n- U9 Z) ^7 b$ V1 m
    workBook.save("Hello World.xls")
    8 r; `3 H; E0 r0 `1
    . y4 e( M' a# N/ K. ?; H2 _拓展$ I3 n; N2 \$ |
    " P/ r3 t  Z; G
    批量插入
    % f0 _3 Z1 Y( y' w. J+ u9 ?) `0 D8 |* m: ]4 ~1 X, `
    利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    : e7 R0 ?1 k* V7 I* W# g  o# g/ c, Y1 L  s8 Z6 w' z" m
    比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel/ Q: Q% I: Q7 p* A: E/ o
    4 y  z  }; |+ E2 l4 G/ Y
    for i in range(0, 9):, @* @; a0 E  ~- c1 J
        for j in range(0, i+1):5 e, c! F* u) F- |) k% U  k7 q
            workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))
    4 {% B( T& H1 I+ F" b3 Y3 y16 k; ^% v. \; e, x/ v) f% y
    2/ f+ Q% q7 \1 K* h6 ?8 J
    33 a: k5 F7 E$ w) t
    当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!
    / k: q+ ]) M5 z% @+ _' `8 p+ z. I3 i) f+ U; D
    报错注意9 M) D0 _8 C6 A. p

    " @% G% V: t. \6 Z" w; k3 I0 T: \, G如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!3 ^( X" F" o3 S- y; n* j" H

    0 v3 `- w! |+ h; QPermissionError: [Errno 13] Permission denied: 'xxxxx.xls'
    9 C+ O9 a) M" ~* h3 P
    6 d$ w" P7 X/ e8 @" O9 [
    0 Q2 C% i" M5 J/ [0 @! O4 Q/ U————————————————8 v' G' o% I* d  L6 W- _+ [' h
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    4 K5 c: x9 T2 L$ N9 ~原文链接:https://blog.csdn.net/qq_44720366/article/details/1061520282 ^0 E  g5 ?' |; P
    ! {* i& |9 q% D% h# R2 a' O* X

    0 L1 h$ ]$ ~0 V( ?; k* A6 [2 Q* Q  A7 x1 x
    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-8 21:12 , Processed in 0.498755 second(s), 53 queries .

    回顶部