QQ登录

只需要一步,快速开始

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

    $ l/ E% z# A' C8 T9 T8 V如何用Python提高办公(Excel)效率?& ?4 p( `& l  d; U
    这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
      b  R! f6 S7 R文章目录3 q: I. a' m$ f: b! X% A
    9 E( h; U% ^: W" k1 A
    准备xlwt库  c" m: T  J8 h. x9 E, P3 O$ i2 j
    安装xlwt包( J0 g( t; e- F4 r+ w7 ?/ s
    Python文件中导入包$ h- r# k9 _4 r9 n3 B4 T
    xlwt使用! G! A1 ?3 E( \/ V& [1 P
    创建WorkBook对象  @5 M- L6 b7 ~! w6 o/ I" p
    创建Sheet0 Y) _6 y1 X. L  f9 P/ a& P1 w
    添加数据
    6 x2 Y3 {+ a+ j5 w6 D保存文件& f  [/ C# I: \
    拓展
    . T9 h6 T4 j* \  P# {批量插入
    / |2 Z" f' z& e+ A9 f报错注意
    " E* G# |/ K- I准备xlwt库6 P1 W  [3 ~. k$ s) {/ [

    ; _3 I5 y1 |. Q% r% o. DPython里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
    ( a% p% u" C  Y+ x
    # p5 \& W+ [  [0 x$ ^3 B安装xlwt包! y# {: `/ R( L: k7 D. u
      S6 L# d( m# P' X$ N; a: R
    File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成1 L& ?6 y) ^7 [1 O: E( ?

    " g0 [( Y; i" c: ^4 y/ U7 l 1.png
    " Y/ V# {: C9 q: ~, v  P0 o 2.png $ F. [# F  O% ?$ h

    5 e* e( R* i8 o, ePython文件中导入包
    - F$ K' O- h: \# Q' E" X$ s/ y* t8 }5 x4 a& |2 m7 S+ R1 R
    import xlwt # 导入 xlwt 包' F1 v" n: M  o1 h; g# K2 s
    12 t& e' a/ h: o  c% B
    xlwt使用( x" L, a% L6 B( |8 `- p7 ?+ p5 w

    : u: k* h+ O  g, B; bxlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:
    ; Z6 m% K: X2 b: M4 ^+ T6 z4 Y+ U; ~3 S. q: B
    创建WorkBook对象
    2 |& ~! g) ^$ o. y
    & T7 _% w7 C! H7 G& |创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”, u2 A( z9 J/ _

    2 o6 Q, s$ a1 y: l9 P4 z  E5 `workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象9 N3 {& ^3 Q$ P* y! Z1 N  |
    1, J% P/ N$ M" h$ H+ Z
    还有一个不常用的属性:压缩等级,直接不写就是默认 00 V$ c7 E) o) f$ {( @8 m1 V

    3 }1 |. r5 Y& x# J8 U$ _2 A  z# style_compression 是表示设置压缩的等级
    5 ]8 b1 G) N8 ^# JworkBook = xlwt.Workbook(encoding="utf-8",style_compression=0), S$ H) I: U$ G' j0 c; X
    1
    . p! q5 s2 I1 U% ]2
    # h# O# B, e0 `5 w; K- Z2 R! Z创建Sheet% |# e' M2 f. B# A/ s7 h& S

    ) ~! g3 g; Y+ H用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作
    . S- {# M4 u) {' F* F0 E& |
    " I. _/ x+ V9 vworkSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)/ L" e* w, R, g" i! E
    14 f' J9 H6 @- U) L' O1 ~% k2 C  B  Q) l
    添加数据( R7 p: {6 ~2 e% ]/ ]% G5 ]- f4 o

    ! Z9 m+ |: }1 x% v文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)& G: d0 @) l! m! o+ ^7 P

    # |9 c" ?- D( L. u0 v- eworkSheet.write( 0, 0,"Hello Wolrd !")- r$ y: h  a% T+ c* V9 X5 _' r
    1; [4 u; S7 ]$ R) N6 R# r& X, S
    保存文件
    ; K7 x4 ~0 Q1 b, a5 q& q. x2 l' f# d' `9 q, Y# ?
    文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)/ i! `3 J. ?+ m6 C0 l
    2 Y& U- s+ f+ l) _5 J# @5 R1 [9 a
    workBook.save("Hello World.xls")% n) u7 h, v5 P2 C
    1: [2 i7 s/ P$ l# \$ r
    拓展
    ) g4 ?6 r: c0 @4 r1 G7 z6 v
    ) Y& m: d7 }9 \5 Z8 [" I批量插入
      r* O6 g/ d" X+ H3 b/ S  L6 `, w1 _' W' I1 T
    利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!; J* f. Q1 z  }" h
    * C3 d. C8 c( C7 G
    比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel: y$ x# g( T7 N

    1 G; V& t4 f' e9 H$ M, h% L" sfor i in range(0, 9):" h+ O; E0 z: a1 b' y: H
        for j in range(0, i+1):
    0 w) A  q' f: _( E, j        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))! r( v2 v  G; [8 |
    1
    . C" e, U5 l0 {2
    / u* x  f2 @4 [2 l3; U% w) d; a+ I# s; ?
    当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!) P! b. }) g% e* x) x7 C+ D
    ; u! o7 ^$ }/ ?  S5 b! b
    报错注意
    2 K; b' `$ S8 q+ {- m- C
    ( p; H2 i( j; b- n4 ~# s+ a如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
    7 M/ ]: m* k' M  t. M  L7 U7 G! D4 |8 u' L& a6 T5 e
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls', H: N) u9 ]) e% o
    5 e1 U& s* e" h$ B2 T

    5 K. z5 ^5 f& c9 O, q$ T————————————————
    " s1 X4 ^- {2 X* q版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。2 s+ _. \# d5 c" Q( ^7 x: ^
    原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028" @$ S. x) Q5 {  M- t' W/ j4 h

    * g: `7 J. I; y# I2 [' A1 I
    ! q. `. P' J+ ]& Q* e. z) Z8 s. E8 v  q( ^+ ]
    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-9-30 23:36 , Processed in 0.456837 second(s), 53 queries .

    回顶部