QQ登录

只需要一步,快速开始

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

    # n8 V& R" @/ ]! S1 n1 O) p如何用Python提高办公(Excel)效率?4 Z% w9 L5 e4 ?
    这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!/ ^7 ^; P7 @& d9 w
    文章目录  P3 \' Q% Q! j/ s8 k

    . N. k3 p- N/ A- D准备xlwt库/ r2 K+ C2 l3 u
    安装xlwt包* w: h/ W/ n5 {: K
    Python文件中导入包
    $ D8 L) q1 G9 w, ?xlwt使用
    ! ~: E& L! L* s# x! j& I- ]创建WorkBook对象
    ! ~7 a# a' o$ J7 F0 M+ ~& h) q创建Sheet
    . L6 ^) x5 m" c4 z0 S: E添加数据' W& m" C9 K2 \
    保存文件3 x5 Y; E- J! a; f7 p
    拓展
    * U$ J# \3 z- z# e; F: c批量插入
    8 J3 |# s) Z- e# C: U% `/ U报错注意* |# _1 S9 E$ J& ^& ~* W
    准备xlwt库/ |1 c! d7 p: f3 f" X

    - j  }* d5 t  ?0 T5 @; T/ h& IPython里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
    9 I* {( R4 ~1 s! M+ G/ I: j
    " Q" W% P9 r( A; R1 r8 R! _安装xlwt包/ h# ^0 I' S& v( b9 H5 D. X- @

    / T/ c! x8 N: D9 BFile ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
    ) Q! g+ ]! l3 N1 H8 C
    / e+ R* H1 B! T* B 1.png 6 {4 I9 Z8 {6 m; i# P
    2.png
    , u9 n+ j) _0 Z/ x8 w2 D
    1 a; m0 ^& ?. D5 lPython文件中导入包* j$ y$ K7 \6 [) N

    % t1 v/ o+ Z* V! J! |% iimport xlwt # 导入 xlwt 包
    $ h; H; a6 V7 D1
    1 ]; M, ?1 [7 v$ H) V" X' M3 mxlwt使用
    4 n! s: X- H9 d2 i0 A
    " v/ F4 n! q2 A6 E& a8 Qxlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:
    , i4 ~+ K  F5 z+ ]3 [- ?$ F3 l8 k2 x# @1 R6 z& m
    创建WorkBook对象2 [2 q% N% ^$ H% j$ W
    8 O0 b, }1 d  G5 C1 m4 F: l4 r
    创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”& q' G% r8 A% C6 S1 g8 H5 M
    * J) p0 r! M! n0 q
    workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象# X* Q- w5 n; U6 L) e
    1$ y9 {1 d( \+ a9 D6 W; F
    还有一个不常用的属性:压缩等级,直接不写就是默认 0- L* y, L! u1 ~3 H; H3 H

    ! y9 @) g$ u3 p! y* @; I2 A5 s  c( a: B# style_compression 是表示设置压缩的等级+ D2 \, R5 L7 y) {/ E
    workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
    / v3 n* Z9 g3 C9 [7 z' d. H1& E& r, j' K& y0 i( M
    2( b3 G0 N! p3 C: r' J
    创建Sheet5 n$ s2 A* F# U/ ?

    . m9 U4 V: O; I1 n7 |! S用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作
    4 d# z5 a$ c0 A+ ?: b2 |7 T; K# ^8 {/ O6 n5 l4 v: _5 Z
    workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
    3 E, `7 p+ Y4 G: x6 t1
    # q! i" u8 r8 a7 S6 S1 L! X添加数据. q! o6 Y5 V; E# j, K
    2 m  @* i7 [/ t/ Y5 L" X- E% v
    文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)
    2 v: y" {8 ^8 K0 ?- m- }7 j5 x, k4 P$ F8 _; |& _8 G( g
    workSheet.write( 0, 0,"Hello Wolrd !")
    5 V; j- e) c! ?5 a  q% p. e, X18 q5 z6 r: g0 x3 }) D
    保存文件
    $ j: J7 j* V* f' F& Z0 L
    7 o. c' g# |3 O3 G8 y文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
    1 _% b, A1 K* C% s; n( }+ w: N2 U5 h
    ! o& V- R6 p" H" h4 `( ZworkBook.save("Hello World.xls")- ~$ o. P9 H% Q8 L3 E
    1) L8 {5 {0 R6 A. r9 M% m
    拓展
    9 M+ P; i3 g3 x1 |, g- R  s3 _( Q& U+ J1 X  h7 h2 x  _8 A, d: k2 k
    批量插入1 x! P/ e+ e/ i

    ) h8 \8 B8 z' C. S9 \8 y4 v利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    : I" w8 e0 _3 q( \# N( V: u* _
    5 V2 R/ f/ P4 t5 e) Y比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel, T- z; W+ S4 k. {8 |7 P! c
    : s0 D2 V# Z1 ], j( c& H" @
    for i in range(0, 9):
    ( Y! v' c% [/ L% q  f    for j in range(0, i+1):" _& j: x# N: z7 j
            workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))& h/ o( P9 g9 ~
    1) O  D7 g! W/ A3 M& u: h
    29 S( b# S" O; X$ x( V
    3! q5 n; m' L1 F
    当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!) |4 B  x2 r  o2 J4 a3 b5 Y3 I

    , m7 v5 w$ _* \; ^# L/ a报错注意
    7 x, D8 o5 m- j8 V" M, [4 g' Z1 L9 w; N& O
    如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!& B% U  R% [7 ?0 ]
    / [# A' z1 M9 j
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'
    5 v5 V- q6 n; X2 P8 A# S9 J5 m' I4 f/ X* _. L. h" J

    7 i# u! Q$ v! U) ^; g————————————————
    $ y4 n( e( M  `8 I& D5 Y版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    ! [* S" D* L2 y% S3 y4 A) s原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028
      i- m  P0 `" M1 k8 [1 `: C. \7 }" t6 X* b1 H; \
    * a! ~7 f( \8 b% W* _- C
    ! p* y3 ?5 l; U+ c4 a
    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-7-27 04:04 , Processed in 0.337752 second(s), 54 queries .

    回顶部