QQ登录

只需要一步,快速开始

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

    / i# S1 [5 D  D( E# @  V如何用Python提高办公(Excel)效率?% p* w% t$ A' L/ Z
    这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    8 {- S2 m  A; p0 a" O- a文章目录
    9 z+ |4 M* |' r: U7 h  z; f- b% V" @- }- Y4 C+ B# v
    准备xlwt库8 \; k* F( w9 L; R$ j
    安装xlwt包
    . v# f. F- K5 `  s! p+ QPython文件中导入包( Y" D3 L) @# o
    xlwt使用. a4 i) V/ u' Q9 r- z3 p) E
    创建WorkBook对象$ `) Q$ M$ T/ W( Q
    创建Sheet" Y* }' b4 _* t# F- k+ R! m7 d
    添加数据
    " o0 U9 [+ q, x7 q4 a2 Z' a/ d- l7 B0 v保存文件
    1 Y2 V! C! Y  p2 b8 _( c拓展
    * ^5 Y0 L. \0 ]6 `批量插入  L6 P0 k' ?0 ~, o9 b9 w' @
    报错注意
    ) r& t: R; E& n- Y准备xlwt库
    * p$ N* t% K4 w" u. A
    1 L3 ~$ n0 |8 O* G; }/ F7 ZPython里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?# B8 H9 o. w: V+ ?7 O

    ! K) w* A. [# N! ]4 j) T7 L安装xlwt包6 }, O/ u( u# n3 a! h

    ' R4 a6 P* N& w& Z& t  XFile ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成7 T7 |/ V- e$ n

    ) d: u# s- G, \  m4 k" l+ L 1.png
    6 j( L( x- F( K/ w; v 2.png
    - D& ]1 X% t; x+ O- T. r% n( ~. U0 i1 F* O
    Python文件中导入包7 u3 j9 S# g" b2 w0 f5 `7 p

    ; t% A- n. q2 i9 Q& }* X2 }& ?import xlwt # 导入 xlwt 包
    " E0 K2 j) z+ w1 g9 `2 p* B2 S5 p1
    7 ]' `7 h5 i, ?5 M, W. G+ r+ Lxlwt使用1 b5 T% m  k& h2 {4 r5 K

    + t) N" |' ?  }  S5 _xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:
    ( U- A# `: `9 p& B* |8 n: z2 Y# t9 F* w  W5 R$ @
    创建WorkBook对象% @+ J( @- z3 K2 }& w
    8 I$ i, h8 G, L+ o! _
    创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”
    7 o# ?- f! j7 T* d: b9 t- E2 M* E' C( s  y" i% [$ L/ w
    workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象5 B/ J- L1 R* T8 q8 T0 A
    1' R8 \6 X2 X! Q3 j3 a2 a* l
    还有一个不常用的属性:压缩等级,直接不写就是默认 0
    - m" o4 X0 k: ]9 X7 h" N8 r- D( _, _- V& t" o* B' H, M
    # style_compression 是表示设置压缩的等级
    . i# j! R3 l7 M$ M: k9 X" jworkBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
    / H6 p1 Z+ h7 {3 r) z1
    - @% f+ j( Z  T- T, s- Z2: P8 x& z! b% ]; z  U" k  t: \5 P1 i
    创建Sheet; r, c# e$ ?7 ~( q7 d, Y& ?3 p2 |9 V

    : r. R" h. c3 ]/ _7 E  q7 [用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作
    ' v- |; T: P, s: v  D- U7 ?8 |7 k: O+ [( s$ Y. \5 ]3 J/ ]
    workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)' C9 `* v4 M; l8 j3 n
    1
    9 n) H8 R3 }4 _2 \1 }添加数据; w7 Z9 e8 F7 g

    5 F/ b3 q: l. @文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)& |7 D& l* k9 [/ O7 J

    8 B4 k3 z* m' h7 oworkSheet.write( 0, 0,"Hello Wolrd !")! b# t* I3 [4 y, x. U& q
    12 E' n1 s& e+ _
    保存文件8 u7 Y5 g# y% n) x* d, ^- T+ g

    * u- d6 P3 W7 ^$ s文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
    7 a  \0 [' k8 x3 Q- x2 c8 z( b* a6 c. _! ]. ]1 s. F
    workBook.save("Hello World.xls")
    6 U. m* x7 _* R1) i- k% U3 z% t9 e. G7 H8 q6 b
    拓展4 E, L) t% Z9 x& E* i
    0 y% K' [, q+ D
    批量插入
    ' P2 E8 t+ \, s& h( P$ Y$ C- _" c5 W- i4 t
    利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!+ P0 z2 |. {9 i1 J' z

    - X3 y+ ?. k' N8 a7 p比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel8 V! J. V$ g  z/ v/ m" g, C
    3 b! n2 [1 g7 [, Z; L, y
    for i in range(0, 9):
    4 X$ S) S: L" H/ [2 l: S, V4 M    for j in range(0, i+1):  ]* V$ C) |9 n; l
            workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))
    6 l6 O  q! t' B/ i1
    + }1 y0 a  Z0 Z6 P+ M2- V1 _3 j+ L7 M6 N9 S" T7 b
    3
      g# S; j7 O: D# R7 ~; `& L当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!
    1 K; _. p) i+ ^; a5 C# J* h: q( i$ o
    报错注意
    $ F" {  q1 `. r- ^, H8 ]
    8 y& g; w7 h. i9 ?8 Z$ e如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
      q& b+ I" w8 S2 Z. ]2 c" J) m: P4 u* a7 [, u+ H
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'$ x5 J+ `, _7 {4 n8 ]+ w3 f
    2 g* H8 t, \* J1 G
    & l" j* n% }* l; }
    ————————————————
    8 ?' x; [+ P$ _版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    ( |+ C+ ^: G/ ^- v3 c' v2 I8 I原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028' u3 b3 ?) k$ b, _8 S+ I* X
    - a* \9 S2 Z% t5 C

    5 p( H: O# n  q, c* [4 s/ z! ~: d1 Z2 S' T9 |6 o8 H
    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-4-19 05:58 , Processed in 0.375669 second(s), 54 queries .

    回顶部