QQ登录

只需要一步,快速开始

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

    2 u7 |" U( e- `如何用Python提高办公(Excel)效率?8 h4 W0 e" ^9 H' G: K/ [# A+ v7 u
    这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!# E0 @: O, W. g6 T3 M
    文章目录
    * k: ^% Z; D9 J) T7 b% a( a, W% X' f: c& M. G9 @
    准备xlwt库
    / D, |/ D5 d8 H" t安装xlwt包
    8 J$ {8 @1 d% b7 Q& a# W5 CPython文件中导入包
    8 p5 G$ e% Q, [" o; x& k! gxlwt使用* I# p% b# W" A% t
    创建WorkBook对象
    / p: \; z+ J6 c% ]1 u9 c( N创建Sheet) n4 N4 w& F, C& _& ]3 \: O. s. U
    添加数据/ }: j  y& Z8 N7 [
    保存文件
    1 p; }7 U9 _2 B) ^" B9 F" s8 I拓展* {9 {4 q! T. K8 M
    批量插入2 T5 g4 h* y3 @3 q7 J" M7 v7 F
    报错注意
    4 X. v- T; Q# E9 c( {准备xlwt库0 ~/ T. q; D& ]6 X# J/ D3 J6 _
    - C. F5 D) d6 H
    Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?5 v" R3 B: r+ T4 [5 m

    4 O+ o0 @, j) @- J7 x安装xlwt包4 U2 Z. y8 i2 K7 N( p! H7 W& \- t
    8 f- [; ~. C( b, d: k5 i, f
    File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成" u0 M) }( B/ i+ J. a4 m# @1 ~7 B
    9 d) ~( W. [" e: V$ A; q3 y' M! c  o; d
    1.png
    4 n3 ~, i; I# t) @: s: @9 [6 Z  t 2.png " \" c& S9 l" l1 D  n9 \" t: Y

    * ]* X( M0 p: m8 ~  GPython文件中导入包! R4 w( w. r3 H1 y; A& s" x
    3 A, v9 _' {3 x! o4 Q( e
    import xlwt # 导入 xlwt 包6 i, q6 v& O; }
    1. U5 W( u* H1 ^! I; Y
    xlwt使用, z% P% F/ N, I2 _/ D6 s# O& [
    % D; N# K* a) i" }
    xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:1 T! S3 B, H4 Q# C4 L7 z4 l
    * l. p! r* l9 i6 @# x
    创建WorkBook对象
    / x  e* E9 p" J, {9 v6 O. f- G
      {0 Z$ P/ l6 L! R; T/ b! F创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”
    , }7 U; F( c# ]$ j" T: n
    1 i  X! N5 d; h; O3 R* T9 jworkBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象0 c! x6 E# H! I: r
    1' F" |, F& n) O& `! k& i6 `
    还有一个不常用的属性:压缩等级,直接不写就是默认 0* O. r5 V+ }7 R+ g. I, T1 E  G

    * g  Y' {1 w8 b9 `% k: d0 \# style_compression 是表示设置压缩的等级
    # m* R) a  @/ B3 g, Q/ YworkBook = xlwt.Workbook(encoding="utf-8",style_compression=0)7 @3 t4 d$ R0 ^+ D, L7 T6 x
    14 l. \+ I' H" `% I; c! }
    28 K4 s) Y6 v7 M# n( U5 `
    创建Sheet4 j9 v2 i1 J& F, G

    0 n# z( D7 g7 L; r# A- `, _. ^用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作6 c! E, j" d/ e8 p, K7 ?% T$ m
    4 J+ I4 \1 S5 T4 J
    workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
    6 M2 h2 Q* h1 l8 R6 e* N- V1
    : ?# b9 t2 D  `, N9 P+ i' f添加数据7 D+ `+ ]" g1 M5 L1 e( D
    , ~0 s) ^" i. T
    文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)8 a% F$ H; `$ t8 M9 L  |! a( u
    0 a+ E) c5 H+ j1 v/ L
    workSheet.write( 0, 0,"Hello Wolrd !")
    - q6 S# K# Y% j1 X0 S1
    2 u6 `* D: Q- X* H保存文件
    , O/ t2 f7 }! N* h; u3 R* R
    ' M" }& a" D  O文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
    / b2 r" Y- R+ B) ]3 ^% o* A7 B" R% @4 d7 q, b0 F3 c
    workBook.save("Hello World.xls")" A& Z  ~8 R3 u( a  @
    19 o+ w$ Q6 c5 |3 l( R! f6 a
    拓展, q: F; I  T5 S4 R( [% w( M* u) j

    - ^7 M4 n9 w2 J3 k( g6 M批量插入6 d. l2 b( @, Z3 {: h

      g4 T$ R/ k, a9 B. v利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!: s2 V, f7 ?- K& f

    * x, o! P& u4 W+ p; {比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel
    % M! \- ]* z. A" y4 [  \, f; ]1 i# O
    for i in range(0, 9):8 ]" M7 n5 i) l6 p& }
        for j in range(0, i+1):
    : c/ n' r& S" o2 X6 T8 n        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))
    " ~1 m' w4 l2 w+ o13 O5 w' F0 I, \% x6 z& B7 _9 G8 n- H
    2
    - y, t1 ?2 L9 ?% \6 _2 Z& K( I3
    9 o; f. V6 `" a9 o1 F# R当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!
    7 t  j2 @5 B6 M0 Q
    8 g# |2 C0 z' C, c  p3 I, A报错注意! A& W4 G; S- k2 q$ ~
    4 \3 L; }3 |+ k
    如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
    ' ^5 I) D1 C0 L$ S5 K( P$ Q) h" {9 t" `2 |( L" A
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'6 [6 ~, X" p) I: _% V4 N( u5 D& N

    3 ^- g2 G8 B, W  g
    * m7 {, \5 [* e, P* ^! U2 Q0 x. `————————————————
    5 u1 n" Q% p& C! x" A; }版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    ( i& u: e, z. V2 X: @  e# X原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028
    % M/ N- J# J- a  V
    3 H6 z. S. A3 d* |2 z' c, _8 ?. D  G0 H/ z2 _& F+ ^2 F0 b4 h

    5 d1 R) W* B6 J5 X/ }: I7 H2 D
    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 11:41 , Processed in 0.444853 second(s), 53 queries .

    回顶部