QQ登录

只需要一步,快速开始

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

    1 z. {/ y5 K" r9 c: ?3 e5 x1 ?5 B/ Q如何用Python提高办公(Excel)效率?% Z. q2 H/ l& T, b5 H. j
    这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    2 X4 F3 y. z+ t7 r8 y6 d2 A文章目录: G) {' }2 `6 I% n# h$ J

    3 Z0 `* M! N, L7 q- }- y7 `% q准备xlwt库
    ( M7 w9 p& R2 }9 T1 E9 J9 R安装xlwt包
      q- V# [0 o. k) HPython文件中导入包$ B1 o$ C$ D1 v: s
    xlwt使用* D; X, G" d9 }1 [( j  x2 l
    创建WorkBook对象7 G8 R! b, c4 Q9 q2 B0 W0 O
    创建Sheet' m/ P* n0 D1 [' ^8 i
    添加数据
    ; m& Z/ I& b; U( D# m9 _! c保存文件
    ; E; I3 \  m5 i3 i  [6 O2 b, ^拓展' h& Z, Y. y8 U7 z6 `
    批量插入
    4 r+ O' b1 N+ P1 t6 o9 \报错注意
    & ^+ u9 l7 o5 _! y9 d" V准备xlwt库; I4 T4 A" @. O: o8 Z7 `
    , f) o: Y  `- m
    Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
    6 X2 \2 e$ [9 @& k/ N3 W4 h
    : u1 f" j0 k6 l. h安装xlwt包
    6 ^6 v  Z5 G* y+ O' F7 n
    9 h5 n  Z) l6 _+ VFile ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成- Q8 ?- f& M2 o0 V

    % Z* X* Y  m$ m1 ]9 Q! B 1.png
    # W! x" L% q2 z, g 2.png
    " ]  _8 a" ?# n8 H/ L$ ?
    ! B( a6 H- f8 [# ~3 [: s5 ]Python文件中导入包
    # }' Z- Y+ \4 y* V3 C
      u& Y' {7 z, n$ dimport xlwt # 导入 xlwt 包2 }  S. W* [3 W9 D: {$ r
    1
    2 \7 f" t  j8 G% e3 g- dxlwt使用! ^9 _1 b2 g4 M7 B% U  m" I
    $ \) N0 g6 F- g! V2 G7 v, V+ e5 J
    xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:, b5 v6 x7 @7 @% D! f3 ^) w
    " Q! C1 T8 ~  R# U5 v
    创建WorkBook对象- p" p1 E, j( O7 Z2 l
    * |- h. T! x3 X* Y) I
    创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”5 x) [6 K* `: Y

    : _* V( q! f+ X8 w1 d8 U2 _6 MworkBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象
    ; Z( F4 T/ `6 y1: Y! r3 s  b( z( U8 g% ~- n1 J1 y4 I5 [
    还有一个不常用的属性:压缩等级,直接不写就是默认 0
    9 |' u/ Q. K  o* Y- Q  g) }* V3 Y/ q3 Q* i- F/ B$ Y
    # style_compression 是表示设置压缩的等级8 F: u4 `$ r. \* u7 J# l" V
    workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)1 G# @8 x3 O1 \
    1' H' O& }) j' G% c( s' W
    2* I5 t# O$ N& D0 \, W2 A* K, a: W0 i( W
    创建Sheet" n2 G  S$ T) p) K

    + R* W3 t1 w1 S; S4 N用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作
    ! V, C3 o8 c! C9 B( k9 G* J3 b. X/ ]# y4 {
    workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
    : [4 C+ v7 l+ \; s. I1 `( f" H1
    & F2 P: U* R4 X添加数据2 W" P7 Q. C8 a8 U
    9 y* W$ O/ c0 F! ^2 e
    文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)
    % W( P* f4 H+ _# d2 ?
    % H2 v) d' R0 \workSheet.write( 0, 0,"Hello Wolrd !")0 H  g8 ?1 D5 d* o
    1# q$ S+ M4 ?% j/ X; u# C. x* A- ~
    保存文件; i/ M! `& ]9 x2 _* X" D9 _) i$ ^
    . @1 M. M! T: [9 L) R5 \
    文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下). |1 I  x+ ]/ ?5 N5 K0 S

    . N, f. q: z8 s' @3 FworkBook.save("Hello World.xls")0 Z0 d. o' y4 B7 h, n
    1! F( |2 [* r* r2 u8 [
    拓展
    / k6 Q, J3 W2 L0 `0 ]4 q: f7 p+ M7 A1 H) @
    批量插入: R+ Z8 Y9 X3 B6 s: m/ g
    ; t1 M! |, C9 t, k9 S0 N* l+ G# C
    利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    # Q& J' ~( ~# ?" k7 p
    ( p9 q. U  X, V, s* ]8 ^4 L, {) U比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel* Y, M0 }, X+ b' D/ y7 I
    9 s# a' w- m% L
    for i in range(0, 9):
    8 G/ v& g6 N% R& _: C8 y* D5 t    for j in range(0, i+1):
    6 a8 e: Y5 N1 l* I, C        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))6 Y# y/ f/ O* z0 P' M: U
    1
    9 A; }! c/ I! O8 F- j- C2
    0 O) y3 t* }  C( T; R3
    " w( c* E2 L- {9 [当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!
    % V; k, X% C4 F
    2 t5 o1 |8 H+ {0 d报错注意& O1 F8 H1 h) i: e9 a
    8 J3 A' B2 m6 l9 C7 f
    如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!: o9 F# K: x2 ^0 a2 L9 U5 W
    % d- t7 O$ a) M" A, Y! c0 w: ~
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'5 Y8 ?# {2 C) Y) n* c' O

    6 p$ Y7 P' u+ ^* b4 X8 ^, Y7 w+ w' t8 m) L9 p. h, _
    ————————————————+ y  t3 N1 f0 v2 G8 E
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。( A' ]# }6 _3 ]6 e+ \
    原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028# [! \( u: m) j' Q& B' I" r
    9 r' j2 f; e$ V$ X& K

    / Z; g0 d8 V$ V* P% e# U6 ~3 b: [" o8 z! D6 \
    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-6-9 02:26 , Processed in 0.432080 second(s), 54 queries .

    回顶部