QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5716|回复: 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 N( s9 l6 J! q" G  s0 i+ N& R如何用Python提高办公(Excel)效率?) o. M8 k* s- z. B: U$ Y7 h4 E! w
    这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    . f6 u4 Y$ r; o, e1 B: Z/ Q文章目录% u$ Y, s- P7 P& y! w

      A5 W( m& Z2 @准备xlwt库
    ; e1 p& A% K0 S; b安装xlwt包# ~1 o4 q* ~* \% m( `& S
    Python文件中导入包
    0 B( \7 f, P/ J; yxlwt使用
    # V! p5 y3 s# H' q4 O创建WorkBook对象. J) R) \7 K9 d% t' g
    创建Sheet
    7 |6 I& R- R, S% s, O# j8 N添加数据
    ) A" X1 H" R# ~& i保存文件
    , F& @, {1 O5 B% M# U拓展
    % e3 K) q1 w/ q; G: r批量插入3 D5 }/ n; C8 Y8 E; p
    报错注意
    ! q# J& g" ?9 J7 h0 d准备xlwt库* y! a$ [9 R! F

    $ z% S0 g4 W+ k4 uPython里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
    8 ?% H6 ^" V9 \8 V
    9 ]' W$ G% [# ~$ N安装xlwt包
    $ x4 E' U- D- j9 _1 ^' ?
    7 n4 V1 S7 ?/ V4 H. V; ^File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成8 y2 T; t1 ^# w' \9 `8 r5 P; ^8 U
    ' E" e! r8 t. Z/ g% t2 ?5 F
    1.png 1 x/ {" C2 A; A+ j$ B
    2.png ' H& U* Y/ ]8 H% y& ^6 d5 S
    ; {/ P; n# l3 a, f; h# a8 X( `/ T
    Python文件中导入包. r( T7 x1 e, g! k

    + s5 s1 Q# f' t1 x+ ]import xlwt # 导入 xlwt 包9 |" {$ X! g1 O6 Y" V1 P- H7 ~" z2 O4 @
    1
    * l& V8 O/ d( W% L, H3 W* Lxlwt使用* v4 g* o# O) z1 k( N

    - O) ^1 {: F) H+ X5 K/ X8 p3 S; m  Rxlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:
    " Y. K+ @" S+ T- a3 a' k" p0 p( C1 E* ~
    创建WorkBook对象! o. V* y  f7 D+ R/ x
    ' m% n4 n5 }3 p1 J) N. B, q( i0 \
    创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”+ ~$ w; n; h: M5 f# v, \

    ; T5 {- m1 Q3 }, fworkBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象
    1 c1 l0 I( g! j3 `7 }, r14 C; X) J  |5 F1 j# h3 Z" |/ v
    还有一个不常用的属性:压缩等级,直接不写就是默认 0
    + I! F; h8 O( a1 i  `9 L
    $ H2 |9 l6 ~& Z# style_compression 是表示设置压缩的等级
    1 k/ J2 R7 R" W9 C8 L, f5 B: ^workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
    + u1 @) e! Y8 r8 _1
    , V1 P+ i8 {0 U! @5 {# ^9 ^2
    " P0 j/ a: s$ d2 }- E! Q1 g创建Sheet
    6 ]$ ]$ N1 X) R9 a7 d
    ( H5 l1 b: o# n& K6 b  i用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作4 B  `. o) C' u# R7 A

    / T( x& C6 l( x7 c* HworkSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)1 o% e( s3 g0 z6 f. v6 Q
    1
    , c3 Q9 F5 p: _添加数据
    2 i! w5 R& {4 J& F& L' D2 k
    * R. s1 `! V$ i, Y; x9 M- i- [; H文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)
    ; o& b1 u* B5 E9 K& @. t5 T9 x
    3 r4 S! l8 ~% `4 KworkSheet.write( 0, 0,"Hello Wolrd !")9 G1 b) g2 X/ x  T
    1
    ) b0 t9 M1 g+ m/ S3 F! u/ z* M8 y) x保存文件. R) E( _3 ^! S
      r* l! f0 p$ b) b6 u( ~9 G
    文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)' Y0 Q0 Y, v( D
    % O( G2 D* ]; ?7 X; j% ^4 F
    workBook.save("Hello World.xls")1 s% d2 d* y; P9 v
    12 _. S3 B' }! a" ~, Q6 ~
    拓展. d  L9 T0 w+ f- R3 q4 [
    5 G- M  V' t  T  F" Y% G2 P
    批量插入
    ( j, n, u5 V, {4 F# d6 E% @9 g2 t5 ^9 {4 R
    利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    # X: w+ E+ Q& N+ P8 y
    , ?& D3 {5 ?5 {& N比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel
    ; B1 I( R& p7 [" _- f) y; i' G5 s- W5 o
    for i in range(0, 9):' b. C3 u0 p3 o
        for j in range(0, i+1):' o, w" i. K5 C1 N1 f" t
            workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))
    6 Q3 \' t! t  L14 k  \+ h6 c, m8 y& [
    20 l7 K- p) I& t- E
    3* k9 d0 N+ a% S4 L2 B
    当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!* g9 v% E  J% U+ i4 q

    & _- \7 @: N/ @' U报错注意
    ' w* s" b: L0 H# }- {* |
    ( c! i: h7 Y. W2 W1 a8 O3 k如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!/ F* @( o. g6 i5 \1 N
    - d/ R/ J' }8 Z, }( B4 l
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'2 [4 X# j- d/ t8 o, Z3 B
    * N$ V. @  u) D/ E2 V9 F: c8 i
    " S, s: C5 |5 }- T4 E5 I1 j# f, I2 K
    ————————————————% n" _6 _4 d6 B; L" n& @; _8 D7 K
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    3 g; y/ L* I7 d- D5 Q0 t原文链接:https://blog.csdn.net/qq_44720366/article/details/1061520285 k: z; L. z. z

    7 E# r2 F4 v& J0 _
    $ b1 z2 [. r. \. i( \- }
    . U5 v$ A' M/ R- u6 I) 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, 2025-10-1 05:15 , Processed in 0.319428 second(s), 54 queries .

    回顶部