QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6036|回复: 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
    ! e& ^3 q0 Y/ w% H
    如何用Python提高办公(Excel)效率?( p! g& i1 ]: y0 O, s
    这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!; z: L. B  J. t5 i- Y: w
    文章目录: v9 C. @: J* l9 ]* n/ A

    # M8 G2 [0 D6 s, P准备xlwt库; {6 |: N1 x9 Q# C# ^
    安装xlwt包
    ; [7 t* V; d: {8 ^3 {8 F8 h- wPython文件中导入包
    3 d, d2 u7 E# R7 g+ Qxlwt使用7 `2 G7 i5 H( Y2 a& {! S, l
    创建WorkBook对象8 ^' L8 U7 |- }; {0 J+ {
    创建Sheet
    ; E! ?5 \5 F/ h添加数据
    : s% x9 p1 o. Q  R保存文件
      Y2 e' D) G5 Y3 S3 k' D拓展
    - z( V+ Y3 x& l9 o6 ~9 \; m批量插入4 |7 z- _% }6 p$ g
    报错注意" {" L% J5 r+ A3 U4 D( i
    准备xlwt库" B+ |+ U- c, h( N) s

    - F  B) n$ ?( q" D. ?Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
    % Z, L! m8 X  [5 d4 ]" W" s
    ' H6 L1 {& ~9 J! T- `" |+ H3 |安装xlwt包
    * o' q& a. F! ]# M7 [/ p9 B5 W4 D+ f/ {8 c
    File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成% b; k( ], @. y. T' z0 m# C
    6 k0 z$ f5 W: Z' v" C: @1 W
    1.png
      a5 e7 u/ ?2 N. B* U7 A0 H  S" X 2.png
    ) Q& M3 V( z2 X) N5 f: D
    # ^: Y: F7 c) [Python文件中导入包
    * e$ h6 i3 q9 t0 ]. E1 y% W  w
    + v# e) s( O2 [import xlwt # 导入 xlwt 包
    0 X5 l7 Y3 T, S9 t6 I1
    4 {  ^0 ?4 ^" Y. s' Mxlwt使用" N% S" t  J7 v! }4 G5 O0 Q

    2 L6 L  [0 L$ `$ kxlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:; _, Q2 Y$ \% P$ K, S8 U7 W0 @
    ; S& H) U+ k, H# h: [) D1 G3 I
    创建WorkBook对象7 L; _, i4 X* Y: p0 P  V1 B$ [

    * f$ c) R3 L6 `( k& a创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”2 ^) F4 m/ g3 Q  D, c. j
    " ^3 ]6 Y4 Z2 p2 n# [$ u8 z8 h6 \3 f* G
    workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象
    9 P9 v! N- y' m! G$ {  l1
    6 x8 Q% V7 M) ^$ f& D8 Q  M还有一个不常用的属性:压缩等级,直接不写就是默认 07 t9 f: L# j4 \4 R; @) o' V/ L
    7 b! ^7 n, x, W+ j0 f* Z
    # style_compression 是表示设置压缩的等级
    5 X  F* A, w& x' w; ^workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
    8 x' {! m) H2 {7 C  F( K1
    ' `& m* T2 I# E( z, W! a25 g6 b3 @2 E& a3 R" d
    创建Sheet$ B7 ^; }- V, m: v0 V& X/ O1 B+ C

    ' d: f% C! R6 J2 _8 U2 \用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作2 g2 c; i; X# `8 ]

    ! b+ g/ ~" Q- W" w+ L" X: PworkSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)' N, w8 `( ~! b
    1
    & @0 k6 |2 @7 `" c( t添加数据
    ( B  I- a* G3 ?5 H2 M/ J& V" m7 h2 Q: q
    文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)' |- l* Z$ }3 @5 ]- ^) ~, `" Z

    + C3 d& m& O: T9 U! K; Y$ w* iworkSheet.write( 0, 0,"Hello Wolrd !")# m  n  B/ k2 a: [' n
    14 I) D" @5 `  N
    保存文件
    + O6 ]. T4 j! ~* p* Y8 a6 a* u# s- k+ \3 q" q- }: @  i
    文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
    ) W# u9 J$ e6 k; x& _0 _5 ]7 F7 p$ S
    workBook.save("Hello World.xls")9 P; q  k/ Y7 o; m1 Y
    1
    9 n9 _' s5 ?! G. W. H, g* K: k拓展- J* k! A3 B* G

    ( E; e- i: |! p2 z批量插入6 }$ J' b, Y: J+ u) Q0 d

    : ~1 u# H3 x3 n3 a利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    2 r; o! x( [0 K0 N. W
    4 ~& i+ D) U" H# B9 o比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel
    - H4 x$ X; t3 \, ?/ X3 `8 C: L# K1 @9 y1 |; q6 m
    for i in range(0, 9):
    0 t" m9 i" q6 `# B4 W. H- e    for j in range(0, i+1):
    2 h- i5 \+ i9 L: W        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))
    " h& d& \# F8 P" C6 m1
    # Q1 l2 H7 A% E0 n* b  X2 W2
    9 Z, T" ~( B# I/ k+ E3 P: g. l9 ?1 u3
    $ [9 N6 C- L& O8 {$ r  C: J当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!
    1 T  U+ n0 C* t% `  t
    ! Y0 D9 @0 p, W! u  f报错注意/ ^7 I# P" M* A* i- V  ]

    ( ^8 g" Y- z8 F1 \1 `1 U0 j4 v如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
    6 r/ I7 \! J3 f' @1 D4 w1 m4 }- Z0 J+ N5 @7 r0 ~, d
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'
    3 t4 b7 ?7 t* q; `/ _5 j7 ~# G# v7 s7 M( J6 e: \$ S
    0 \4 b7 _* d# @! d$ s" F
    ————————————————4 \) E" c4 w, h6 A' s
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    " E( i1 W5 V' u. `7 v: v2 G7 e$ a原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028
    6 E4 p- _( R: h' ]! c" _% H9 N. o* `+ ?' D& ?, V

    & L- J& f7 P. p) T. U3 ]! b) k, N: s1 |2 E# v! X5 y& G8 W  }
    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-17 15:53 , Processed in 0.653790 second(s), 54 queries .

    回顶部