QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6039|回复: 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

    / M) ?* z  W" o0 W; [  K$ N; j% B, x如何用Python提高办公(Excel)效率?! D3 m" W! X# K$ b$ b
    这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    % Z; `# [3 z) h3 z! D文章目录* G# ]6 r% {  s: T* J

    . p5 B! ?2 b, \准备xlwt库, a/ V% p! A4 W( _: s: J. i5 J
    安装xlwt包
    . }, C( ]$ B. Y+ M$ G7 ~/ E' GPython文件中导入包& K! ]! S) U3 \& `& I
    xlwt使用
    # W# X5 B0 o+ e8 Z" Y创建WorkBook对象
    + S' i& V. w# l; I! m创建Sheet! ^# A8 A& |; a" M' i5 R* G8 s% l& p
    添加数据- x8 _  D5 _0 `
    保存文件% g4 _' a5 K" ~, R; q# O
    拓展0 E4 T$ f7 x# O  T
    批量插入
    0 e) \$ v# w( u2 |( Q报错注意* b" P! f' M/ |  v0 }. h% m
    准备xlwt库
    * w9 \2 U4 J7 G
    9 g9 H' T  E. q5 `Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?/ f  z) O" g- N! f2 e1 e* u

    : X: h9 w/ O( |; E1 V" \安装xlwt包
    # \2 e8 [( Y0 u' O1 Y0 c
    % c4 @) J' U/ H( t: I* vFile ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
    ) J  H* ~% I' |1 z6 v5 y
    : W# |+ S. T$ _: b8 o2 }- ` 1.png
    : d. p/ x; w9 y# c% p8 ~0 X 2.png . B& C' O# D( T+ I

    9 `" B% c) N/ k) _0 O' n# i& P4 mPython文件中导入包
    # j4 ]. d8 O$ D6 ?7 c4 h3 D5 G) D( c8 n0 d" Q2 d' e& L
    import xlwt # 导入 xlwt 包
    . x) F1 i+ m# D+ ]/ d. o& ]0 Q1
    # w3 ]$ r% \% o2 ^( wxlwt使用
    & x  {5 B" X: q% J
    ) p# E2 y% u0 E+ Lxlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:
    ! ?8 U' g- A( q3 B2 p  z# [/ c  o2 ?& Z; l  K# ?. `
    创建WorkBook对象
    ; \4 F: ^) T; G% d# I
    / }( g) T. L( r8 ~  Y* F创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”2 }5 m# h  }) b( l6 c5 S- J
    : c. g0 H  u5 S% c: Q
    workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象
    ; [7 k6 [" r% |1 [1
    / E6 P% x( Y( c$ s* s. a1 F' r7 A. }还有一个不常用的属性:压缩等级,直接不写就是默认 0
    ( Z; }: }9 B% D$ W7 t& W% E! D( ^. Q  b: T) w5 F
    # style_compression 是表示设置压缩的等级
    + ^2 y. b# k4 OworkBook = xlwt.Workbook(encoding="utf-8",style_compression=0)* o6 v' v1 H6 s5 T3 k2 X1 G
    1! Q! D7 X( H1 o' L" }
    26 R' T( G0 h( o5 \4 O
    创建Sheet
    8 Q, P0 S0 e5 M6 Z+ f2 x5 }7 q! ^7 g9 \* F/ q! ^! W: z. c
    用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作. b8 B* V+ G9 G, r: x4 |0 P

    1 S8 P" k  I  T. rworkSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)( J% k. C/ z6 X9 n
    1
    + z+ F4 S1 o3 l1 G添加数据
    6 J0 @% x' `9 W; y1 V# E. e. g6 ]4 U, [! t
    文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !), I# }! ~* g- _. N# O

    % ]$ [0 \1 j! `! h9 A. J2 {workSheet.write( 0, 0,"Hello Wolrd !")
    - M, `( s, g; `1
    & n* |7 }0 j9 b9 m) X保存文件4 D: j7 G: X4 G) h& H

    - r2 f, ~+ ]/ ^8 r: ?8 G  P文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)3 |; `. e0 I4 ~7 j; O0 r  z( n0 v1 D
    / [8 F; s* g' d' i* q/ L7 _
    workBook.save("Hello World.xls")
    5 F$ e. }+ o8 L8 l; N1
    1 a8 }+ ~9 {) ~7 F$ O拓展- {% @+ \% M" a+ d8 [

    - M7 g" b2 B6 k. V/ U% Z批量插入+ j* `2 @" T; ~5 }1 P
    - Z6 U$ j, ]. `2 N: f- C
    利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    ; `$ a9 A2 Q7 q1 L& J! E) W5 O- T7 E7 V: h* r" i2 Y2 O# p) Y
    比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel
    . ?: o  C7 g6 {* s
    & `/ u7 w7 I: I/ o7 Mfor i in range(0, 9):
    " h3 M9 c: g' X/ R, t2 G5 x7 g    for j in range(0, i+1):
    ( h+ G$ e  e! i( p        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))
    ' n, u6 X9 S- J% b1 I10 Y; j2 X0 M7 c! T
    2
    1 I4 _: ~# |" l( h) {1 o: W) n3+ ~* R/ H% t; y2 f. G) D4 a( m2 z
    当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!
    6 I7 r. l* N. ^9 I
    8 K+ e: B  j+ M  ?% c报错注意
    5 u5 B& o6 O1 l4 g  ^+ ?
    : N/ A" k0 V! o如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!0 o' u( s' \  V8 I
    & {2 v! a' F! k. a2 ~5 o, _2 ]( L
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'0 u. c2 y3 _4 Z7 }; E$ f
    0 Q' k) a2 h; b# a* Q! J

      X8 Q' k6 t# z3 Y7 @————————————————
    " l' I* Z: S2 B, E1 C) r; f  L2 }版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    + E; Q$ Y% s. e/ y/ H. s% R! \0 p原文链接:https://blog.csdn.net/qq_44720366/article/details/1061520281 V8 Y6 k) ?: ~' u( X* ^  m
    " S' Y$ g2 L6 Y& r& Y) k

    + p( [$ [' W* T7 U7 E
    : @! Q) F0 N( `- Y2 c0 V
    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-18 14:30 , Processed in 0.712157 second(s), 54 queries .

    回顶部