QQ登录

只需要一步,快速开始

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

    " r) @0 k- E6 \4 u" R0 V如何用Python提高办公(Excel)效率?* G: O7 o5 B2 f- G! C* S( H
    这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    . Q& |. I( q& T. g文章目录$ X  K9 T' A1 R0 _
    1 l' R; A! Q/ r% P
    准备xlwt库
    ; j. S+ n4 P+ k8 T% u: |安装xlwt包5 B9 [3 t; Z. U2 w6 ]4 O8 [2 W
    Python文件中导入包* @3 ^  S9 I* y# O
    xlwt使用
    * A* u) e) d1 x( i创建WorkBook对象
    5 N! K9 s/ F$ z+ G3 Q3 Q$ L& q9 E创建Sheet
    ' p2 h. Q' Q% d7 c! A添加数据1 y( n; I$ `; B1 o2 y5 s6 u0 N! |3 t/ {! ^
    保存文件
    $ Y4 C. V; x+ e# Q$ @* D+ n* p拓展
    1 a( M1 j. u# A: `5 S4 r. I  R批量插入- d* V0 f+ C, c7 A4 a
    报错注意
    2 {! L* K/ |4 s0 |) G- J7 r准备xlwt库
    / ?$ a4 a; f2 l; H9 `
    7 Z8 i& ?! [' x  FPython里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?  r4 Z+ G: H' X; H4 p4 q6 K7 d" q

    6 l/ _+ j5 E, M; R) j1 T" K安装xlwt包- E8 W- e" S$ _" A3 `% C. u
    & b8 b5 q2 F' h& P2 o8 G8 N. y& x
    File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成8 D( @9 z2 o& V. o. d- l( E* \9 T

    ) u0 W' d5 E" A4 T: n$ b 1.png
    8 M6 j( N! L: q4 p4 ~  q( A+ ~: A9 j 2.png " B3 W2 ?; a* ?! N9 k- F" ]

    1 F% k- L+ ^% DPython文件中导入包
    ) O9 _8 O! `/ D8 D
    " p% A! @1 L6 d0 {) F0 nimport xlwt # 导入 xlwt 包
    6 y: @$ l; c' |5 w" s+ ]1
    $ x) V/ b7 V& n$ txlwt使用, Z, N8 l$ d0 A! b
    2 c, l) N# C$ G4 P2 }2 H
    xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:
    % q+ N' q7 W  }' D5 [; V, L" `  t  H
    创建WorkBook对象; F' w/ W1 J  ~. B7 d& t8 v/ M
    3 v- _/ }' x2 k1 K/ q9 M6 t
    创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”
    / `- C* E8 R& f
    ; f/ G) K; s8 f2 o% }( B9 b( WworkBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象
    6 M4 y6 C, a( i. T+ p5 U( Y12 \2 G0 ^0 U  ^
    还有一个不常用的属性:压缩等级,直接不写就是默认 09 c0 T1 h, k* y- F5 ~
    - O, |7 Q- H) S! p0 q* \
    # style_compression 是表示设置压缩的等级
    6 D1 ?* N+ |. a; {% {; q8 vworkBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
    8 U5 u. q) O- M& n- X( G( S. {1
    ; M4 ?1 R1 s% r( o9 e2
    2 N) w# M* X5 Y& a创建Sheet
    ) q. ~! O2 }- L" ~( v% e! p9 g6 o' U
    用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作
    0 E/ h# k+ c7 h( I4 s
    8 s6 K3 w: \. m9 ?: ?0 n7 h" A% h* `workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)* a6 j. B" B) D2 o! |* j4 |
    1
    " |# ~  k( ^$ M添加数据( ^1 L6 d( a) J

    " g$ S; V- l0 S* I/ y文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)( |6 t. [9 F; Y* ^8 G6 j+ u
    * b4 k# Z7 W$ C5 R  V: y, A0 x' U
    workSheet.write( 0, 0,"Hello Wolrd !")6 M0 \0 X+ |% g
    1. @0 o" e. K) `, c3 ?/ Z
    保存文件
    & E1 Z" c- r8 j! Q6 g- W; E/ b9 p
    文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)5 T# ~8 T+ p" |4 S9 [1 f. d8 V
    * j% q" L! Z1 ^* R8 W! M
    workBook.save("Hello World.xls")
    ( C& o5 b% l% u$ ?) w# H1
    ' }3 y( G# y1 R0 K* M2 y拓展% C% Y7 ^% Y5 Z, K

    / d& x! q/ z! s6 B批量插入
    7 O/ {& H( @. c) w$ M! i+ v% N
    " T0 l! F7 F% {- H+ M: P8 f利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    6 V1 ~8 ]. v& v/ x# K3 w5 ]1 \* d4 a# ?' ]1 I( c
    比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel
    9 q% w, W8 Q: A9 N" |8 J8 P  A- z2 p$ S/ i6 D
    for i in range(0, 9):8 g. m% U/ u6 H# `
        for j in range(0, i+1):
    , ]) U; b7 ^' u        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1)))): A9 ^8 `% O% B! ~1 K) _
    1
    9 E5 ]0 z( c& r+ g5 T; N& P( j$ R* C2' X- r+ e9 |: c8 K; ^
    37 a# ?1 o. b6 G. \
    当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!
    5 x' h# D) G5 ~2 m8 Y& ~$ Z& V  t( M0 ~3 b* V* \
    报错注意1 L- u3 l4 d6 t+ h5 F' ]# K
    0 i. T  j/ U! P; x% S# s
    如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!. D8 u) |: z# j. E) C7 n: s

    5 p' W$ B/ y+ Y" fPermissionError: [Errno 13] Permission denied: 'xxxxx.xls'( f& u# {* N9 w2 d7 \% m1 c

    4 D3 |7 G0 _  c9 H7 _+ h0 E7 m4 R; E: P! C4 P) c5 A! B, E, B6 q2 W
    ————————————————( @, I* ]7 g* o+ {% `
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    6 n$ ]! e  f& G7 W/ r1 u原文链接:https://blog.csdn.net/qq_44720366/article/details/1061520287 ]) c5 S& U- @$ y; B% |" U/ Y

    5 s! a1 z: V0 m- X
    + ~) c2 m- B% x, j9 L" [' b% R; a% B) D7 M$ L
    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-28 22:35 , Processed in 0.370706 second(s), 54 queries .

    回顶部