QQ登录

只需要一步,快速开始

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

    1 W8 t# _6 J: Q$ ^如何用Python提高办公(Excel)效率?
    . F1 B. u1 H% h, c5 N* a* y0 z" W这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    ) Q) D# w7 A% T8 Q文章目录/ q; m" H, l( R, x) K% p" T/ p
    9 _$ w1 M: d( q, F
    准备xlwt库
    9 z' q6 s+ T( N0 k! n$ }- {安装xlwt包
    - C6 q" k" h) kPython文件中导入包! q; w+ f3 l7 y& H" ?! c
    xlwt使用
    ( @  j( w6 r5 S; U! y  D  r: T创建WorkBook对象
    ( x( _5 f' o+ B: ]  H* [6 c6 k创建Sheet
    4 M5 e% o4 D% q" B  p- ^添加数据# f( ~: I! w( j& l( c+ e6 v
    保存文件
    4 f* ]1 C" {3 v拓展
    / M% W4 z# {1 B' v! h0 ]批量插入
    : i& v5 K2 v7 L* L- x7 @8 U报错注意
    3 R3 f' X" k& m: {准备xlwt库
      m/ h' R7 g: d( Z$ c6 k$ h  ^8 v# I0 {# L1 }. `
    Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
    ; m& a% q! j! K  b! C+ C3 q( O0 M, h
    安装xlwt包
    7 E6 K5 S% p5 a. }8 e, D
    8 ?/ \0 _! o% p, \File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成1 t2 R- s, f/ g, g2 g" m/ u

    : F3 c5 H3 h* y2 J9 L 1.png
    ( ]/ q! |3 v1 ]$ S/ _ 2.png
    - ~( l# ?2 L6 ^7 W. t2 M; `2 p* F8 V; k+ O2 `  }& q
    Python文件中导入包; B% K% \3 s' o7 n1 ], ~& M; q
    5 x6 i+ u* j# @1 a9 ?  |9 j
    import xlwt # 导入 xlwt 包
    & ]/ D; B* I6 O% M1: A, n; ?4 I5 W1 }
    xlwt使用
    $ y+ J8 N% V5 }* u8 G! X: Q% k: R- s* n9 G3 Y% c. N' p2 A
    xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:" h/ ~4 d3 v' Q2 q: a

    ( Z" ~2 }% P0 a5 J创建WorkBook对象
    ) {2 y+ q# Y" X& k) O0 c: l# x! a8 Q4 ^- K
    创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”
    : Y1 H& f# ]$ g+ |, k
    , u) p1 N0 }0 b/ J5 ZworkBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象5 ~! I( k9 d3 u  E
    1
    , H: S/ D! L$ ^& l* G2 q还有一个不常用的属性:压缩等级,直接不写就是默认 0
    " v, |  ]/ P! c. ~6 B# x3 \* {
    # style_compression 是表示设置压缩的等级
    ! _- R9 g  w0 X$ }' }1 o$ iworkBook = xlwt.Workbook(encoding="utf-8",style_compression=0); Y% R7 S9 x3 ~6 G; ^; @! R" r
    1
    5 B( ]7 c3 p# G* j" ^' V2) W0 Y1 C/ ]% b: u; {+ a7 q$ p
    创建Sheet
    0 p4 ]3 {( W: {: a% |, n: M
    6 y1 U' F! @; p1 l/ j& ?5 X  t用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作
    5 O, q% O0 t" j2 Y2 Z" n7 A: K7 E' K$ ~, z$ W
    workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)2 a) |: w6 t+ x% n
    1  W0 y: m( n# b7 O
    添加数据
    ! m4 z5 o2 j3 Q5 v2 }
    ! q+ `+ ]/ b) n3 R' i文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)
    4 A9 Z$ v2 |1 f+ J# J# X. A
    + r. s# I/ q' L, w9 L3 ?  c( IworkSheet.write( 0, 0,"Hello Wolrd !"), |$ E: ?0 `! ~; y
    13 ]0 `- J, L5 z  \4 h# _, t: Z$ X. \
    保存文件
    $ H! e5 @. T% a/ R
      i/ t6 {9 G# O% k, u% M' O9 K: Q文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下). O* r. ^8 M$ B$ R! c: t4 @
    + X9 |, M$ `, i9 m, }. O, v
    workBook.save("Hello World.xls"); @, |5 V' ?" q6 u( O" U9 \# K
    1
    * d" o1 D/ s9 i8 p# {! `, A: e3 I拓展0 m( p% f5 A$ G. [# `3 t. w" T
    7 `6 D7 @+ U+ e/ Y- _& a  U. b
    批量插入$ J" ~, A( [* `$ a# r5 c/ @
    7 e. M! ~! x6 V; ?/ `9 D
    利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!: V- |8 ^! ]( q5 A

    * B% W' m  t. b0 ?* V. U, j比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel3 ^1 D0 j  _5 `, a" {0 a

      s3 U+ D. g9 ffor i in range(0, 9):; o( |5 J4 N% Z1 }6 q  b
        for j in range(0, i+1):8 B1 y' {9 t" r5 W+ r7 [
            workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))1 m7 A4 E( [! ~9 F' j0 H
    1
    ) z1 p; h* O/ ?2 N0 d2 ?/ P! K( y28 Q" D, |+ S+ |  ~2 A
    3
    / D/ N9 w2 W+ Z5 i当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!' V, [+ ^# [# z! s- s8 x: u
    - U# s0 B+ ~8 J/ k  Y* I
    报错注意- E+ j" t+ Z! `$ s' n
    3 T1 R; N2 M. ~6 H; O: h5 d
    如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
    8 r) G& ?8 w: A& d! I  D; P  I1 [6 Y9 f
    % `# M) C' q/ P: I+ d! bPermissionError: [Errno 13] Permission denied: 'xxxxx.xls'" j8 w- w" N! T8 G; Z
    * v. t" h& H! p6 @0 `

    : F  h- N0 f1 |1 s* D————————————————/ \0 ~% Z0 Z0 L* a( ^: F! d  K
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    , ^# ?* E3 C& y' ]! }4 S1 k7 a  @原文链接:https://blog.csdn.net/qq_44720366/article/details/1061520285 x- u' A  k7 [6 [* C7 d7 K

      S5 L, L4 c2 B# u) [2 l4 }( m' W" ~) g5 E6 {% s: `% `
    ' o0 `' E* F7 r8 v
    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 23:42 , Processed in 0.356344 second(s), 53 queries .

    回顶部