QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5715|回复: 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
    ; I, S& H. v4 Y) [8 Z5 G
    如何用Python提高办公(Excel)效率?
    * Z2 X3 k$ m2 A/ T5 S6 r' \4 e+ L3 A/ X6 g这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    / z5 G+ a5 W. W, P% }文章目录
    ( g6 ~- a' v. V. i8 o) [' Q8 F7 ?) l0 y3 n7 y( m
    准备xlwt库8 J5 k) j' P5 d& I. [
    安装xlwt包- m. L4 z* i* V, {2 s7 S
    Python文件中导入包
    4 T2 u: g% I8 @$ Bxlwt使用
    " a- _  r: E/ M: U& Z7 Z  t创建WorkBook对象
    4 V/ \6 t4 V% Z% V创建Sheet
    / n, w. `3 B( }" }6 G/ T添加数据
    0 z* O' u7 O# q1 I4 M' J保存文件
    8 N  Z$ v7 j1 q; A拓展& @* O5 D5 F$ Z( S
    批量插入' F7 @6 L1 N1 a8 o1 `
    报错注意
    / q1 v. H* l4 B$ x3 s0 x4 S4 M8 Z5 j准备xlwt库
    4 V1 A! s" B' `) C
    7 L1 q" |+ {$ U* o! CPython里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?* q8 K$ }1 }4 x

    # L; B4 y. Y$ I  K7 l安装xlwt包( _' F4 T- ~4 d2 `* Q

      I, v  p! x; R- }1 LFile ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
    + J+ ^& l2 D/ F
    , S* G8 A+ R/ M. D# Q- k 1.png , R3 ^- q( ^+ Y+ A& b; u/ l
    2.png ' A$ o, ~$ r9 |( P8 @

    7 D: I7 @, S/ [Python文件中导入包
    : y& T5 W5 I4 {  v7 B
    ! K  [6 r: M6 gimport xlwt # 导入 xlwt 包
    : {1 y! ?6 |" `1 h! D18 b/ M  h% v# P* m4 {: x2 e" k
    xlwt使用
    6 v$ j+ \8 G( v! @$ K% {) i; W3 h; c5 ]* I2 G
    xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:1 b4 N8 J% e( ?8 Y

    3 {9 w; _& }8 F8 Z( Z$ p- S, T创建WorkBook对象
    / o. @' c$ D9 h- m2 {% ^
    7 [% m) i) m+ F% ~& A创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”& {# ~4 ~$ Y) @" ]
    : s" _, n* ^& c2 \
    workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象( M' I) b# M! x7 N1 z$ z
    1' g$ b  p( O/ t- q& e
    还有一个不常用的属性:压缩等级,直接不写就是默认 0  @$ T( d4 A& v7 l

    ; t8 ~3 \$ R/ k, y: V2 i( R# style_compression 是表示设置压缩的等级- o) s$ s" i1 H5 z& G' U
    workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
    - s% K8 F* m, X- p) ~5 k+ D$ I& t16 B, @# x& `$ f- x' |1 S
    2# L0 F3 F# A* o9 [5 |* Z" u
    创建Sheet
    + q% g, s  v! E4 f6 {% |* t/ ?& B6 `1 U! t  s' N
    用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作! H0 R3 w9 v7 w! [3 U& c

    5 N- W* ~6 P& j5 [3 `4 eworkSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True): Y  t) g& y- Q/ P# a
    13 l2 [5 J/ J) F2 ~
    添加数据
    ; _" B3 m& w& ^' d7 B8 G' F3 R) d9 {) g: v  X2 W
    文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !), l/ t+ u# B: ^! U& ^' l

    ! U# @4 C8 j/ l  j. T; _+ G' N( T/ {workSheet.write( 0, 0,"Hello Wolrd !")
    7 g4 v+ u! l! R1; P+ R1 Y: N% b( x; ?" p3 |( P
    保存文件- g6 E+ V6 X4 N: p2 y6 r2 S$ [

    ' s; V$ w+ y4 `& S文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)6 X6 R2 A0 s, {: @& t, h' p

    ! R' ~6 ]: F3 l/ T* vworkBook.save("Hello World.xls")
    ' m$ i' y; u" V' V7 U9 ]1  ~2 K, E4 S( \& T
    拓展
    0 L6 S. I1 V, o- Z' m, Q
    9 @5 V+ k- f& }批量插入
    / h; n+ r5 ^, c7 W6 T
    9 Y( o. D2 O& `' Z3 ^  f5 @利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!7 q4 N3 v4 J/ I9 ?% Z
    : y# }, J) I  f" Q3 M( Q
    比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel) A, E' O. j. R2 Q" O

    & _2 `! r/ T! Y8 P' P+ `1 a- Wfor i in range(0, 9):, W. U8 g# g/ [& Z4 k
        for j in range(0, i+1):
    $ K$ D. z- Z  n* w- N        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1)))). B& S' L& o6 I3 n
    1
    : F% [/ k* f% d. n2& y6 y. h6 B) }% ~2 K) r" F
    3
    0 H4 a5 K0 A  }7 Y2 K8 a- l- T当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!  E6 L* z# o& I3 ?- A
    + t' ], J! W7 m# j" _: f
    报错注意
    : p. J' L( y, T5 l& T* z8 c$ L( I2 M* E1 ^0 @2 W( Q& e
    如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
    5 ^/ @# c1 `# _: J; m( E# N* a) a
    ( A8 z$ g) h& u6 S/ `PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'
    $ F0 l# E; v3 Z! ~' G2 B0 ?6 x9 }, v# q/ n6 i
      k) ?) @. ?; x! g& l
    ————————————————4 k7 m5 n. K, m) C. V
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。  M* `( b6 T5 u& B
    原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028  J% q& s1 i) X+ M1 M! l8 H
    % f! R: F; R1 q$ g# K

    " }9 i& j. r, q4 E; ^1 ~* f) h4 Y+ x9 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-10-1 03:24 , Processed in 1.231196 second(s), 54 queries .

    回顶部