QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5586|回复: 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
    6 c! J% s8 Z# C, V0 }
    如何用Python提高办公(Excel)效率?
    ' R# G6 D" I2 D" I9 s: \这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!6 A0 v5 K' k. e7 z- r' J! N
    文章目录
    ! S7 w1 N% B) x; f
    * b* V) s8 Z, ^7 m' T准备xlwt库  t+ X; N+ M! G1 R0 {- h) h
    安装xlwt包
    : y) D; F4 U4 G- I; xPython文件中导入包
    % Z- J, K7 s- G3 S+ p# A$ F( Pxlwt使用7 n1 ^* {/ W5 g8 Y: U2 {2 N
    创建WorkBook对象
    . e* ~. a) `# o. D5 S% d  `创建Sheet
    5 e5 y4 P3 |5 H+ k1 J1 D添加数据
    3 ]4 R3 [" s8 A. b% V# }保存文件) \$ g3 t$ ?, B$ x
    拓展
    ) U: U) m- Q. _- K$ c批量插入- F' t8 ?. U( I
    报错注意3 V8 F" X6 C' v9 {8 w; {
    准备xlwt库; S) g# j. U  S- k6 ^1 M
    * l% g1 H4 q3 l2 z$ Q* \% h, D8 P
    Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?  T2 |; b/ g7 B1 ~0 u
    ! p+ F. t4 I' {. X* A  D5 O0 Z0 N; O
    安装xlwt包
    % a3 B/ H8 J) V5 J- c/ R; j* ]# H' |0 F9 m" U3 v3 n; O
    File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成0 G: h' Y8 B: F4 r$ m
    % Y' |5 c; D8 D8 `6 n
    1.png
    # K. ^7 [! m$ ^: E 2.png * d4 b: O+ b! x) I
    ( I! s- N+ y5 S* p; \; e
    Python文件中导入包" V) o8 r  j1 g0 g8 D
    $ _0 m7 V5 O7 o  _
    import xlwt # 导入 xlwt 包
    $ t0 V- C& ]% z$ x$ b% d( G6 B  j" Q1* Z$ t# h- k% m" G3 R- \
    xlwt使用2 S6 L& s4 Q4 R
    4 N; z% o. w' S, y1 e9 ^
    xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:* |. f# e/ x2 x3 A

    0 u9 i# _$ L6 q9 o  _9 a4 F创建WorkBook对象3 ]( @. W/ C1 O

    ! l0 A, B- e! m+ n7 i  e创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”
    8 N% V- v2 P  ~9 j" N1 e
    7 I7 O! M5 H' x1 o& ^workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象$ V+ ~: D! x; A
    1
    , O1 D, W4 }- b/ Q" a3 i还有一个不常用的属性:压缩等级,直接不写就是默认 0
    ( O' B# i; X& b! S! C) ~4 @+ p
    ' l7 ~! S/ Q& ~: p. B2 b3 t# style_compression 是表示设置压缩的等级$ x8 u, p  r- w! N1 J2 r1 H
    workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)+ v* q+ g" n7 }. K
    1
    - Z0 n8 t$ z. |# Q; ]' @3 j2
    3 K0 K: l" L0 g4 E' {创建Sheet
    - n0 T3 d% O& I* \' P" h# N
    - C9 S7 W) K6 Q0 ^, X* M1 s用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作. ^+ V6 `: x$ A% Z" O8 f! E
    ( F' Q9 K# L* O$ }
    workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
    2 `- [8 _. ~0 Y+ j5 R1
    * g/ B2 `  K: U添加数据6 [: {' ^$ I( l5 ^# K2 L

    ! ^, `  D5 G0 ]& q文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)
    8 U/ I: n7 }% C6 @$ j8 b9 R* F3 G4 H/ A- k$ W* H; @! N
    workSheet.write( 0, 0,"Hello Wolrd !")" j! z9 s0 G/ h- k' S/ F: z8 X6 r
    1
    " j, c! f9 H' Z/ k8 o& R保存文件
    2 F; V- z5 i2 W+ W8 Z& ?) X4 u
    文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
    . U. ?% @( c5 @( G4 d: q- C# \' R" G/ h
    workBook.save("Hello World.xls")7 G" k* A5 E! e& g
    1: ~$ ]3 w' o* [- j5 z! U, i
    拓展
    ; r. s* y/ P! \" @" u% Z) N, }7 `2 }2 ?9 @1 X! }
    批量插入
    ) X& X7 G; [4 Z7 t6 a
    , C7 d! d  [: ]3 \利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!1 S" k2 O* i: V0 H9 y7 G

    % B1 n$ k1 J9 n" t2 J# u比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel4 [5 d0 p. |9 o% n- s

    / o6 R4 k0 Q' ^$ h. x9 S$ Ifor i in range(0, 9):: S) y; X- @& U
        for j in range(0, i+1):! K4 c+ U, x$ E6 p% Q+ k4 n% K
            workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))/ I1 i) ?( y0 P
    17 M, w5 s! w# y% K6 T4 ~9 e7 X% e$ P
    2
    ) ]+ E; u- s8 Y% `9 }" d30 {7 B# \# g# k3 y3 l* E
    当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!
    " q4 q1 G# J5 |' Z& f/ e% L! D( k' {. x4 {" w8 Q* ^
    报错注意1 q: h5 B) Q) ~. E7 l

    5 e. E4 A3 F, k3 i0 Q4 I如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!9 `. C: O' B" W& f( l9 k, U* [
      M3 K8 s2 e/ a
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'
    : d) r" f/ U8 ^# K) e7 [
    $ O' d2 W2 P: D# O4 ?7 X7 V! d7 K, y
    ————————————————
    % |: n# a' ~5 E* y版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    / P6 k8 n7 B) {' Y& O/ q% a+ T4 L原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028
    6 E9 l' L- c+ N4 A4 [. d- n) Z! w$ s

    & ]9 g2 ?8 T# D# ^; S% [
    # O% y' |' B$ v8 g  {/ m; t4 @! r
    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, 2025-7-20 02:03 , Processed in 0.453015 second(s), 53 queries .

    回顶部