QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5635|回复: 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
    8 H+ l, j; Z9 D$ Q
    如何用Python提高办公(Excel)效率?
    - S. @3 c, }1 P这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    9 u9 r+ f1 c; x& s1 W1 W& {0 u文章目录
    * b' z* R+ t7 P( r  P
    - _+ ~' D5 O) J4 u9 p* w准备xlwt库
    2 _6 S, f! }5 @  j' u8 K  S安装xlwt包
    2 L+ o3 C  }+ B( w" w, `5 gPython文件中导入包- x, R8 `% P+ a6 d
    xlwt使用
    / I5 }9 |0 l3 j1 W  J1 W: M& y创建WorkBook对象% @( c$ @% E: ~' ]$ G. A1 ^+ z
    创建Sheet
    2 i- F7 N2 n( H  s) b添加数据4 K" A3 b6 B; n; V- t% v
    保存文件3 U: X7 j) M  b, Z! m
    拓展2 Q, X. Q+ h% T; ]  B! y
    批量插入1 b5 b1 D4 ?5 P; I/ T! f$ X( g. T
    报错注意
    , [/ ?9 G+ Y; J# n, S/ ^/ ^& H准备xlwt库
    # ]- W  G! f$ G+ J3 v% }
    ! c$ @2 t8 Y+ I% c. ~) S+ O4 zPython里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
    2 p* h2 T1 W$ H& Q1 z" ~; ^- g3 R; @
    ! u& M8 ]- g) X3 q# v) w安装xlwt包# Z2 _% m" s5 _8 A, a3 Y

    & D( W6 l6 h7 b3 T9 h4 v8 e! _! UFile ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
      y3 Q9 [) G$ m7 o; P, |: U! N2 t4 M: Q- n
    1.png
    2 E/ L, H5 ]& q 2.png : J. [; {# e& G1 h. k
    & o% z& }0 j- k- y& ]
    Python文件中导入包
    % s  R/ ^( R  c- `' D' D9 Y
    , J3 g( `( E9 X; {import xlwt # 导入 xlwt 包
    0 A7 b, ]) ~9 {& Y8 s1& g7 Z" S3 O2 R5 x5 C8 V; Z- }  T
    xlwt使用
    * f3 q( x$ G" S5 C" e+ J2 |& c0 u2 l& \7 h" b
    xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:, a# u& _2 a* M* k! l7 E8 l( p$ ]
    1 \0 @" c( B2 E5 s) a
    创建WorkBook对象
    0 F8 r: n" _) Z. s; I8 L+ Q  o% t
    1 E3 o& B$ W% V7 ?7 s3 {创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”* L! |- Q; Y: r6 h( _

    ; a% G+ I  l7 _0 E4 R  v* p3 {workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象
    . @( p( l, ]5 A1" m0 |- G. N0 H2 M! @
    还有一个不常用的属性:压缩等级,直接不写就是默认 0
    ) ^, x8 q2 z4 `! U7 o: \4 Z8 t( E
    3 S( [( g* h; O. A# style_compression 是表示设置压缩的等级* P# c/ G9 p8 A
    workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
    6 D5 |5 L5 f* e1
    2 T! u" ^$ }) _, k$ u: S28 n* v' c7 \5 m! J4 g+ i1 ]7 i. s* w
    创建Sheet; \+ r6 U' R! @) F5 E5 Z  X
    # Q4 a0 p% p0 ?3 C* |( `; u$ L
    用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作* F9 I8 U# g2 v2 \

    : h! V( v0 t. l7 F  S, x6 ]% FworkSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
    * T# R/ v( Q! ]" f% x# Z$ }, C) G) |1
    ) x8 T# r) K; `# |% r添加数据
    3 _* M. p0 e. k" ]# l1 @
    " j' n! C# I6 i" i+ Z文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)
    ! F& X: Y- W/ q- g
    & u! O& }9 P. rworkSheet.write( 0, 0,"Hello Wolrd !")
    3 l: B! h7 U) i+ C& N* N( @14 f3 J5 q* B8 y* k$ ]/ O: u
    保存文件+ a) l7 g2 K1 y4 m7 P, [/ f, g) W

    + O  `/ b( o# u: |* P' d3 ?& U  q+ t9 K1 Y文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
    6 Y( ~, A1 R; \4 u- i. A2 a, Q* W1 [- p* z% Z
    workBook.save("Hello World.xls")
    & ]3 N$ O$ k( P2 r8 g1  A% ^1 H0 t$ r9 I
    拓展
    $ Z1 q9 f4 D9 M; w  q$ g9 i: y* Q7 Q& u) [. K9 h
    批量插入
    1 L5 K' M6 V+ w, ?6 T6 f8 b1 V
    , ^( R% c- Y- ?利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    % ^5 i3 w5 M7 P3 V2 K) `
    1 P6 R9 M+ ~3 A, a' V* M. Z# r比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel! _0 a1 {2 A2 z8 o
    , ]& @1 h# r2 ~8 q% S4 i" S9 N
    for i in range(0, 9):# y2 U9 @5 R' ^" @; z8 C
        for j in range(0, i+1):
    + L1 L# o2 f6 k9 w3 ]        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))
    7 g8 \5 r8 @: x; E4 a- C4 _12 z; s$ ~; ~* t) u( ]
    2
    + I! V5 W9 _/ [: O' k$ n3
    * q5 `- E, @$ i# V4 W; e当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!
    ) O9 f4 a) V; _3 X0 N* h% G9 q! e- _5 s# c! ]: q- N: \
    报错注意
    ( v. u( B" U. y! R: j
    ) R/ H  I# f! @5 P' ]) ~; O如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!0 _4 D; c& F0 \
    ! @( X" c# B9 a3 O4 y0 K
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'5 g) y, T( U- g' t

      h( x1 u+ l+ r7 ?, u! i9 P( T
    / u) H6 @8 c  N1 T————————————————/ o2 A/ ]3 M0 `: u! Y) n
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。" P8 l- S! R' u" y  q
    原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028
    4 k. [2 {* B) K/ d$ C
      ?7 W6 u6 ^8 |# f0 Q1 }
    & [( ~4 p% U; q6 S9 G* N4 ]% `4 ^2 T& p2 `$ ]; 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, 2025-8-7 02:51 , Processed in 0.408884 second(s), 53 queries .

    回顶部