QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5926|回复: 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 w2 w3 F4 K8 J' b如何用Python提高办公(Excel)效率?
    2 {3 @8 T0 T! e" ~这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!& z* Y. s' b% T# c. G
    文章目录6 O0 I5 \9 v0 n) q+ s7 t+ N2 |
      p7 t7 l* G% E) s& `' H. A) c
    准备xlwt库
    , x8 v0 H2 Z- ~4 i! T. K3 e安装xlwt包
    6 l, C6 u; l9 q% T' K2 APython文件中导入包, q9 i' R5 g0 a5 L* r8 b
    xlwt使用
    4 U+ |( j+ K. y创建WorkBook对象
    7 K1 x1 P, Y' e3 k! ?创建Sheet; ^$ C# Y' ^+ U  Z% H# q8 ]
    添加数据2 y$ o: j/ H$ E
    保存文件
    2 f% \" K' i( c拓展
    ' B8 {# K0 X" ]! m批量插入( A' B" v& ~- g$ l3 A
    报错注意& ]$ B" d) S, _* b3 |
    准备xlwt库
    8 G' r' C+ x# b. s- Z. x
    # f1 x0 O/ d( j% v: _Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?) `8 X- q5 o- @( m6 a" X

    * Y. D6 `' U2 `% x安装xlwt包
    + p( y6 G- D: ?0 I* f8 j: O% ?& f
    ! C+ X2 b4 D' G8 R7 s0 xFile ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
    ) Y/ O: F# X& S' M  N
    + A6 I; b9 @0 ]8 Y0 Q 1.png # h: E$ ~; R5 c% v$ |( L
    2.png
    - ?' b  c! h4 h% f% a0 O7 U: _7 c& M+ f$ i2 n* ~) l* C
    Python文件中导入包$ y1 F  h; @+ ]

    - Z: U, r- u4 k' Simport xlwt # 导入 xlwt 包
    ; o% l7 f, J  t. O1  S7 x+ O7 j7 ~0 k( ~3 R% r% e* p
    xlwt使用7 ]3 K) w7 l& B7 @

    / |8 }1 M- j9 m6 l7 E" s3 bxlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:$ d( y' Q5 ^, V- m
    ; _$ V1 D' Q8 e4 q+ ?
    创建WorkBook对象" l7 Y- J, w! \* m9 B+ w

    . k# k1 M6 b( L( i/ \" A: \2 R. e创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”
    + y( s8 R5 K" J  _
    ( Q) w- K* @3 I/ g$ B4 t/ j" w# JworkBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象
    0 L9 x! m' v+ `* g8 l1
    ( {% `7 W) d3 q* o还有一个不常用的属性:压缩等级,直接不写就是默认 0; h) w* Q' ^9 F+ l6 @
    . y* Q8 M+ h. {
    # style_compression 是表示设置压缩的等级7 X, G/ ?" I: P  q2 v2 b: P2 w
    workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
    % `; N% f) h# G: r7 f4 {1
    1 N- R" z, G0 v) h* k4 m2
    " E- m) i. ^  J/ ~, M创建Sheet9 Z) d3 M: D5 A
    # x4 O$ T) G0 d- F& u
    用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作( g  Y  N3 ~- b/ i  D. Y( @
    8 m2 L3 S9 S+ G
    workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)) y; y& ^4 z6 E- w) ?
    1
    - j- `) \6 J# l# R, `7 [添加数据
    8 X9 T) `& q2 z5 ^; j! \) y! Y& ?+ X2 o) d
    文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)2 b* d" i* r, D3 }, V# y
    : m0 q. P7 x$ W9 p9 ~2 }* y6 p
    workSheet.write( 0, 0,"Hello Wolrd !")
    9 _) A$ G/ G4 O# ]5 d& `1
    1 h6 {2 J4 I* h% x3 \  R保存文件
    8 n# h$ |4 j4 m( g" |7 w6 J; [/ k0 u  G' ~5 i" R) M+ u
    文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)- Y! `6 f7 D5 o+ b

    2 g& X4 W; A' ]7 ]0 i7 y% I, XworkBook.save("Hello World.xls")  a6 c* g& b& E
    10 Z+ M9 i1 X1 _. Z: |
    拓展2 P8 A1 W% P2 t0 j- Y, ~% ]/ H8 B$ u" t

    % |- H4 V! ?" O* f9 ^0 c+ k) F- _批量插入
    * b7 D$ V% K' `1 s0 ]4 G% C) @/ k
    . i4 D6 J/ T0 e利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!5 j4 @! ?* t$ j  r0 m7 u

    ) `, o% S& c, }+ n' o比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel' u% H2 _; N& O) R

    # e5 T" J$ N( ?8 W5 V! U5 bfor i in range(0, 9):( Q7 K0 y, F! F
        for j in range(0, i+1):; }0 c' p0 z3 O1 K/ i
            workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))$ `2 F. F) M% r, A* V
    10 y7 E. V: z; U5 [4 S5 \* H9 d  O
    2
    1 p. [5 V  ~. o, J4 k+ Y% }3+ C# l" U6 G$ T0 T) v; Q" l  C) r
    当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!
    ) p: R9 S9 U7 {4 }- s4 ?; m2 A9 J( I0 W
    报错注意
      M2 i4 R2 X, A; U! l3 n% n9 A! y# [+ R1 J3 ^5 ~+ [+ m7 z: W
    如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!2 W. C7 U$ A1 n$ P7 e
    ) k# w3 q: t: J( y6 P8 g: F, k
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'2 l! E. a2 a" {7 R5 }' q$ G

    # {9 u1 h# r" l) b) P9 N
    + w& l/ D- r; d: b/ ~2 h" P$ H2 [  c————————————————
    3 V+ D  M. F. P版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。8 _- d$ _& V& K; Z; z( q* E5 D
    原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028. q7 \& @0 |: U3 y
    6 P- H1 n5 q4 B9 U6 h' Z
    ' c7 f& I0 V+ C. {# z, m

    5 V! R) z) t$ s1 E3 c' s( V) s
    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-17 22:38 , Processed in 1.348075 second(s), 54 queries .

    回顶部