QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5598|回复: 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
    7 h4 x6 V2 f- i; S+ _! R+ [
    如何用Python提高办公(Excel)效率?
    ' v$ g6 |& a; u' O这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    ; ?+ W9 S" z1 G' P' `" k" i' ~文章目录" E/ k) t8 R5 q# ]+ e, Q
    3 |0 n5 ]- F0 |6 i
    准备xlwt库7 l; z7 M' k  _1 ]- [
    安装xlwt包9 k& q& `7 }5 [( ?* ^4 r
    Python文件中导入包7 X9 N! g" C3 S8 o8 r) w* l
    xlwt使用
    9 i: U3 }2 b8 W% a4 Y. v2 U创建WorkBook对象
    ' o) q" I4 F2 h. P, T创建Sheet, n" b5 M0 z9 S% C' A/ ?
    添加数据) B( W9 @" F7 j; m, |+ A
    保存文件7 p. s2 ]9 t3 B/ V
    拓展$ _, N3 c- p1 d* V: N
    批量插入
    3 C0 b7 L( s' I) f报错注意" T$ ^& i$ E1 K( Z* H" z2 L
    准备xlwt库% i: G/ t8 ^9 ^; Y
    , i# y& }; G  ]: d+ f
    Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?8 z( q5 \) K; ^, e! k  C
    $ [( e1 e$ l3 d7 d, o2 D
    安装xlwt包
    1 f; P2 J* r+ }, ^. D3 C3 i' R. k/ h
    File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成9 W0 L& z. y; u

    & m) S$ V5 M" c$ V, A0 d 1.png / Q1 C/ X3 B. a# k1 D) x
    2.png
    0 Z$ N2 g# H* o* l2 T7 E5 L
    7 f& P6 ~- o0 @3 H& @  Q) EPython文件中导入包
    6 O' o& W: E! L) ~6 f" c
    ) c* {. \0 [0 V! ]7 Q) vimport xlwt # 导入 xlwt 包
    , b3 O& n3 q: }$ d& N1
    : r$ T& f" M3 C4 F+ H/ wxlwt使用4 `5 g, W9 U: J# Y6 f1 m& c

    ' Z2 T9 r$ X2 C2 g8 q" P+ g# rxlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:
    4 V# Q- Z. \" ~( u; ]$ t  r5 p7 Q; X" l: \7 f# z' ?
    创建WorkBook对象0 D' ^7 k) ?7 {2 l& _( p
    1 _/ {6 \# M  `) W2 u( |2 c
    创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”/ l7 d& O2 B0 ]- q) @

    7 G& `0 i' `- {/ V0 K% s* v3 RworkBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象
    ; q* M0 R! Z7 Y" n10 E) V- K0 G4 \% t8 p6 Y
    还有一个不常用的属性:压缩等级,直接不写就是默认 06 M& i/ p0 `: i

    5 q" I% k6 z6 Q) Y) R$ _% y# style_compression 是表示设置压缩的等级& i! f7 m* a$ h" J* i; K6 P. j8 m
    workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)! k. X+ I* i. F/ I. s$ M6 _& a! a
    1
    4 P  s* ~+ r' z  g# W* o2 X; r2% l  |# L+ Q( ?1 w6 s1 t+ M  I
    创建Sheet
    4 i* d8 g; G' v9 U0 v0 _8 p- \0 w( h/ e
    7 j3 m" k( P$ D用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作& ~% E/ m# U1 L" B* ]% A, n1 S

    6 W" `, \; X0 D% ^2 rworkSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
    * y8 L% y4 O5 E' ]9 A; U6 c1# s  _: _& Y* O/ n5 J, G( l
    添加数据
    % I2 U; z; O: T* o
    5 A8 s/ I! U* w/ i2 g% s; }* K! b文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)
    , Q1 ~* z8 E/ k3 N' v9 B( j2 k7 I4 ]9 k2 L4 }( E
    workSheet.write( 0, 0,"Hello Wolrd !")% ~! l. f' W/ ~
    1  R% s( a; e3 g8 j. y
    保存文件5 x; G+ J& _- c7 L& }' [

    . O' P& P5 h' x8 g8 i文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)% Y9 c6 A; N& V* u3 |0 {! R
    ! P3 I' Q* E  I
    workBook.save("Hello World.xls")
    " Y2 i% m( z4 J% m- Q: I& c1- Z, N! y) k' T7 A* X
    拓展
    1 S3 Z. K9 V* d% }6 |7 O0 X7 f1 L% e
    批量插入
    8 P0 M& ~0 X( l$ W0 \$ a: a# m& g5 z5 O# A* b9 h* J
    利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!; c4 X# @+ [, U8 C  d4 i1 k

    7 b) c4 d5 G# A2 K5 t比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel
    : t2 R9 f: j% E& C9 q$ V* Q2 [% _) E+ B4 s- f1 H; j1 A' i  Q' u
    for i in range(0, 9):* t5 M6 r1 K& a& Y+ R. p) T3 V
        for j in range(0, i+1):: p8 a( [' T/ w( n! Z  K
            workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))# f; e& Q- B" P1 f3 `; X
    1
    : Y) Q( K, W9 ^+ `' J29 F4 h  n1 g: c6 d
    3
    ; |* Y/ W( l6 D- H  c当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!
    9 u9 H( o8 {( ~+ N8 a4 B# l  [+ `+ j: Y5 Z8 r& f
    报错注意
    4 G6 z" s9 [; z
    * U6 {& e- |& `' I4 k如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
    , |+ S" A6 P5 l( O0 |
    # e6 c8 x; E+ M& m) z6 aPermissionError: [Errno 13] Permission denied: 'xxxxx.xls'
    1 |* G( w8 C5 Y
    0 }5 C4 U- S: Z8 S
    & V' H) {5 i! T5 U8 t————————————————  D: Y, N- n3 Y3 Q: u& G& i
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    5 `. o  `2 m! ?原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028
    / K/ y% ?+ F  S6 t3 m% R; F1 A6 ?3 j3 Z, n' R2 `

    ) [  s: I7 k& M0 ^% n7 A: [% D% j( K7 j* C( M* @) q+ E
    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-22 23:28 , Processed in 0.482708 second(s), 54 queries .

    回顶部