QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 6040|回复: 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
    & f' V7 j  v" w, Y
    如何用Python提高办公(Excel)效率?
    ' s0 q4 X! S6 ?6 \( ~. U这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    $ i3 c1 F1 t8 S4 `2 N8 H6 d* @文章目录' M4 e: d2 r: {; z% h; g# _' L0 I

    $ ~/ ^& Y+ e8 T, q6 ^4 k准备xlwt库' s0 S; m' W4 N: c& z; L3 `
    安装xlwt包0 F4 @; ~6 N- p# t% _% b/ }
    Python文件中导入包: ~$ M; X9 c6 c& I. S" y' s, i
    xlwt使用' `) r. q% c& Q! I* V8 P/ k  [
    创建WorkBook对象- A, V3 W& L: S* ?' `2 C
    创建Sheet9 H" J8 j; I) m7 h6 Z
    添加数据" }4 Z, \2 |! y( }4 i
    保存文件
    8 Z, r% _6 b2 z/ c% B拓展! L. {- D1 c( j2 Z" O: T* P
    批量插入
    , W2 T$ \* b; ?3 j( ~报错注意
    ! @1 e, J  }( B0 [" d9 R1 D+ {准备xlwt库
    # H. o2 c; U8 k( o. o7 Y, F8 ^
    & O$ H2 b( r& v: c( u! N1 F0 P8 OPython里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
    ( \) j- T9 a  S4 W" B' \9 ]1 z$ W
    $ w0 p( H" q$ {  }% U, V/ i3 c安装xlwt包
    + X/ [1 s" @4 K/ W  s1 s! s
    9 [1 s# H* G/ w, i; P) o. q0 bFile ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
    # u# s8 h0 t  x9 ?4 B4 Y* F2 |3 Y8 m, G% J
    1.png
    * F, j; `* M9 V 2.png . B0 Z* m0 S4 ]  v6 }! O% a) f

    2 Q8 {; u3 F0 ]: WPython文件中导入包& a$ ~4 T9 ?7 j7 G1 H6 ~7 c" {& r1 Q

    + A  x2 b% O8 L; e0 [* g$ s+ nimport xlwt # 导入 xlwt 包
    ! A; d8 j# l/ @. s7 I' r; ~1
    $ E6 k! M7 G6 u) Mxlwt使用
    / F) v2 \& P' _* w8 c1 i
    3 k5 c  E8 V* c5 D! L0 R6 p! |xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:
    : L% [9 \' U8 z  J( C
    1 q: I) f3 B4 x) f创建WorkBook对象
    & ]# `" I' b& _4 h& \! n1 G
    5 d9 T. F" @0 x4 O! k$ o) S; c6 _创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”9 K1 Y/ H6 P: F& Q

    3 p, Y3 L, [1 x" ZworkBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象
    5 _/ n7 s, U2 J' H/ w% j1" [; q9 n: @+ n7 ^
    还有一个不常用的属性:压缩等级,直接不写就是默认 0
    & Z; e! z/ J4 H( a5 k
    # u8 ]; i: o. S# style_compression 是表示设置压缩的等级- r4 r# Z- o8 Z" W
    workBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
    4 A) e7 O7 r# z! u/ p( Y7 J1$ k( f' U2 a9 [3 F  Q! P$ O
    2- o% ]( S5 X, J
    创建Sheet
    ' i% o( t" `/ u# E) ^
    1 ]6 y0 }1 {0 E) x$ O7 w# ]用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作
    6 E/ a- L. K% M& d0 C9 F+ s  _6 t4 r, Y: t
    workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
    ! B% y' b9 \8 a/ m  O4 W/ ]1
    + D' S3 k. \0 X- I添加数据: ~8 s! Y9 J' {2 n
    ' ]* z: l1 k  F0 [$ H6 o
    文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)' V1 @4 p! m  M" P5 H( o, K2 z
    + v7 B& [9 S& T3 o
    workSheet.write( 0, 0,"Hello Wolrd !")
    * e) d6 O' ~3 K1
      C! _# o+ {& b/ }保存文件
    " ^  e$ H; ]5 h0 a  A5 `% X% o9 n) L- m. v# E9 Z! P
    文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
    % B! H6 n$ k: a, ]" P+ D4 l) r2 B2 z& h, @, _/ h6 N
    workBook.save("Hello World.xls")
    % L7 I' [+ `) |: d. G& J1% e; L3 d; C; a9 k- g. F+ x  r
    拓展
    5 \4 f8 [  ]. g9 h& a
    ) @2 ]; p% l: Z7 P6 _; Z批量插入
    : \/ W  D* x' q7 p# |
    4 i* b0 y" f% h% V& o6 L7 M利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    - l& z+ P! k6 f9 I8 b6 v# W% s& ]0 ]9 r
    比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel6 r1 [. \. l8 [+ o, J

    ( X( u  T" g0 U9 W* I+ Rfor i in range(0, 9):
    0 F$ m6 w* |# I) h2 x    for j in range(0, i+1):5 {& ~; [0 J  K
            workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))6 I- X/ f( Q" j" ~' E1 t; g+ N
    1& a2 o% Y9 {$ w, f2 ?+ p8 D
    2
    " s6 E2 @+ I$ _" @5 _3
    , Q' V" @1 \# Y. e5 q) J/ H) o2 w/ {当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!4 `1 m, X. j4 T1 D% S) R. N; r: i+ Q

    9 V4 D$ M# U% o" s6 h报错注意# a  z: ^7 g% ]( c5 {9 r  p: _

    ' ^( Q1 y. d$ d0 L6 @如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
      K2 A0 F" L9 |8 x
    & D/ O% Z8 f9 d+ aPermissionError: [Errno 13] Permission denied: 'xxxxx.xls'" l% m) ^5 D4 Q3 \# ^

    , I5 k, m& E; {8 u- k5 U7 ?: V# X: _; G
    ————————————————
    + A& n7 c/ m4 L: s: ^版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    $ K. q8 |! g( z. l6 `9 v原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028) k: C* Q) R5 [

    " v7 h; p% z0 T( u; P) D4 H. h8 C2 O% y1 d, K0 ?# W

    2 m1 W0 ?1 J4 b- B
    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-19 14:10 , Processed in 0.295939 second(s), 54 queries .

    回顶部