QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5936|回复: 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
    8 c5 N7 f( B, l/ t8 r
    如何用Python提高办公(Excel)效率?
    * \  d$ ~! Y7 A3 O, q, M7 h* u这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    - K& |1 g1 M1 ]( @4 z" o文章目录
    0 V; o8 W) x1 ~& q* a: H9 v+ @
    - S0 k+ y9 U( z3 }! c" q0 m6 F准备xlwt库
    2 _# b9 v9 E! ?2 L( _安装xlwt包) P7 K* [% R% g+ W) ]" R  p
    Python文件中导入包
    ( {+ ?0 E% h) x3 J0 e: ]& Exlwt使用
    0 n; w. c# q" c# x2 E创建WorkBook对象
      [8 y6 l" y. Y" O8 D7 q/ K, b2 o" T创建Sheet( g( D3 d8 J1 {5 B3 w: ^
    添加数据
    % p+ g0 K2 t. y3 C: H保存文件/ p7 ]9 u6 A) K
    拓展4 i/ M) L/ t4 B9 j) ?( p
    批量插入) s4 z) W9 G: Y; f9 p- Y
    报错注意
    ! M5 o0 E1 n3 C: m2 D准备xlwt库
    : a" Q$ u1 l. b( V& z0 g8 g# J! A+ E& A" `+ D" [
    Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?- w5 O0 I6 c! y

    1 a; i- Y8 P/ ]$ n; j4 _; l安装xlwt包8 X3 Z8 A4 {/ O4 v
    - s. G: C% Y, B9 M$ L8 z, b- n9 d6 Z
    File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
      u* T2 V  e* X: R6 x( `, R* h5 r4 g1 v6 X% j$ F, @) Q9 Y
    1.png
    2 \9 R* F. g0 O5 |3 r4 { 2.png
    : U: x! s& I' d- }% F4 E+ J) q) a/ G
    Python文件中导入包+ H. ~$ A( q; ^( l# T+ S

    ' E: r6 q5 r, O& K& ~import xlwt # 导入 xlwt 包
    7 D9 W" X" r8 w& ~; a1
    2 V; y) m- @" Exlwt使用
    9 P' d0 f/ ^8 \' P7 U! Y- `7 l
    1 `) X% ?6 p5 [xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:
    . j6 p$ v0 z$ J1 T: o
    * ]. [& F: l* F+ V$ h6 ?; e2 b4 M创建WorkBook对象
    " ~2 N& N& k, y5 \8 w
    . h; ]& z3 Y. u: p创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”9 g, t# v* X) K
    + {; Y, T: @3 p
    workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象
    1 A) j- h: z/ O- Y% ]1% t5 z( ~7 G8 `. Q; x
    还有一个不常用的属性:压缩等级,直接不写就是默认 0
    8 V7 j1 B4 |3 P5 P' m
    , T% ]5 X2 ^7 r9 H1 G# style_compression 是表示设置压缩的等级
    1 D& C. [( b& [" A7 nworkBook = xlwt.Workbook(encoding="utf-8",style_compression=0)/ \* b6 h, e% W3 x$ D# T/ C1 N4 x; q
    18 O' P$ a) T3 J. l% J' y3 `
    2" `0 c* P" o( F! t. H* h3 {& h8 G& N5 m7 L
    创建Sheet1 E5 A" h- `0 E' `) Z) \
    % ?$ [. B7 ~7 _' r
    用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作" _! ?( g% N5 s% ?0 t
    + T6 N' q& {$ F
    workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True). F3 U* w2 o) K& K5 f& p5 u8 p
    1
    0 T  ?( ~/ I7 N9 I7 z添加数据0 U# l; Y0 h" m
    6 N4 F$ J: s2 O. ?7 L; g
    文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !): ]6 w$ J+ W6 e, L1 d
    5 H- Y9 ]9 L& G% g) m2 o
    workSheet.write( 0, 0,"Hello Wolrd !")+ W5 ^5 z1 D4 t; \
    1
    ' m. o. A8 j. o: ]+ u* \保存文件
    7 w+ K; O8 \; ^/ B$ q7 x7 t) ~3 X
    6 X0 M" E8 C8 I! W& a% c文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)* ^4 s" m* b) _' ~7 ]

    . e& `( V, ]- A( UworkBook.save("Hello World.xls")# j/ ?: z/ l3 y  n$ j' W7 h3 o
    1
    " `, J, ]4 P% e6 ~拓展
    . n% S- V+ E$ v; \+ h! g4 A% B! X: x' t4 ?- S
    批量插入( P1 ]( |2 F  x% o: c+ {6 U

    3 a$ q( j5 |( Q8 h利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    & p: ?% I) Z  `  }& x# r
    ; \7 d! Y# o0 ^6 o$ K; v; q比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel) V7 X5 g9 h5 F7 o' z/ m# F: f
    & m8 g3 `9 I5 n, m$ B+ ?  d: i
    for i in range(0, 9):: J/ t' [1 K0 O$ a. p, s
        for j in range(0, i+1):" O. Z9 t# V* Z4 H' |8 R0 I  @
            workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))
    1 X/ J# w( l$ _- w8 i; D14 d$ i3 _/ z. T& L1 h2 c  c
    2. q6 J' E& J/ M9 N
    3
    6 K& p  Q: \9 a' a/ o. z7 E当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!
    ' ?1 w7 @; j4 M  S# N4 ^. O  U; V3 }3 x0 K" K
    报错注意
    0 h  l4 U" G/ w, a2 E
      G3 j  O( R- d1 d$ |% U如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
    : t# h! J7 E4 z8 O1 C9 a" Q& q( D; H7 s* a
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'
    8 i: ~$ F0 m. r, ^& Y. L+ q: Z  f0 |: z/ @
    8 A. {, m" [8 y( q& q/ H( }
    ————————————————
    - }( \7 L& B0 k5 X8 _版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    + W2 O. Z7 q* M8 Z- x; P, f! }0 x原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028* F& x4 u7 |  F

    * R3 E+ M3 ~. L* `% q+ \, Q: R
    $ t. r! L; o6 h" D
    * e- x/ b  o2 _" I- L# N1 h
    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-4-19 08:49 , Processed in 0.444645 second(s), 53 queries .

    回顶部