QQ登录

只需要一步,快速开始

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

    * R$ Y, u+ X# N% F: E如何用Python提高办公(Excel)效率?; k7 [2 t6 C5 L' B; f& \  P
    这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    & U7 H( K/ l3 |文章目录! Z8 e  A$ \, ~
    . E  e2 s; Y" V. h! w, i' K
    准备xlwt库/ c1 v2 k6 Z% K1 P! a5 S
    安装xlwt包
    / {. n9 F9 m* Q% D, I+ l' CPython文件中导入包
    # ]+ q6 |5 l& w  \0 {. Gxlwt使用3 d( y# n* X) W7 V
    创建WorkBook对象: g6 K8 C1 _/ i3 O4 u6 I" e$ Y, i, `
    创建Sheet; {' ^: a7 n8 O3 ^' u
    添加数据" \$ ?) s# p) g/ {; Q& s
    保存文件
    6 [6 h7 G4 k, |! E4 H8 x拓展
    ) u, r) Z% ^" c$ o+ N批量插入5 y9 ^& {/ f& B6 r( l
    报错注意9 X" C; C7 |- [4 w4 `, c
    准备xlwt库, @( P7 r& u6 ~) C4 n. |' r

    $ z/ }- _' \/ ]/ I1 g' ~Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
    & d* g0 g  O2 Y/ W" ~5 U; z% `' J  j2 p3 |
    安装xlwt包/ ~4 \+ Q8 y7 @2 C

    * S. L8 w0 F, p) FFile ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成% T: Y; r* P- o0 W4 i

    - l' i# ]1 p3 r5 _( `" l 1.png
    + u/ c/ m7 }& U) v* i 2.png
    ' y! @+ Z. @% T7 J9 F& n2 y# I
    . n' d: b. p$ D8 ]  F* y$ _Python文件中导入包3 g# Z7 v: {4 b4 Q+ S3 p: ]' L1 Y' N

    ' N" f  r' b1 X' V. q4 ximport xlwt # 导入 xlwt 包
    0 V+ Y* J1 _% [# E$ X11 w; r4 B; y" E
    xlwt使用
    9 w+ Y6 {# C, Q% N) K- ^( V' A- R' U' z) ]) G4 p- S$ _
    xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:( J) b8 _+ f7 c' Y2 X: y0 w3 Q% A
      u3 g; \" [1 G6 U  l
    创建WorkBook对象
    , D! {( g! r# w( l" C/ \4 Q3 q
    ! A+ W+ ^9 L& I$ r创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”
    ) o7 v3 ~2 {0 {4 m
    " V+ r; A% d# G8 f7 `/ ?& ?workBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象
    2 Q! I* f6 x, c* T18 I# p7 p, M" b0 C$ l0 y3 U. V
    还有一个不常用的属性:压缩等级,直接不写就是默认 0
    , ]$ j/ f# z3 i& }. R% X' D* ^6 ^4 i5 C6 y! j$ v) x: t4 s$ I, j
    # style_compression 是表示设置压缩的等级
    ; ~9 L1 q, X$ X2 P/ iworkBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
    ( ~9 q& Q* s0 p1
    & ], ?3 u1 E2 a$ t( i/ C$ c29 Z  Q% P$ j' e. ?
    创建Sheet3 [# v( ^8 S) B: u+ L. @
    5 k. [; T; |7 f. X6 L" q9 r) H/ `6 U
    用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作7 g% r. @3 D- b

    ) K7 f' _0 u) o0 [0 S0 g/ N, I7 rworkSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
    . B, y7 y  M4 T% @1
    , @# m" g8 H/ m& F; g添加数据
    , o* p5 S+ t9 X1 I$ \- p, D# b7 z- E3 b4 d4 |
    文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)
    3 o2 T2 [& F" W  U
    3 q5 P" q4 e: ~9 [, d6 gworkSheet.write( 0, 0,"Hello Wolrd !")
    8 J$ K' E$ A6 [1% E4 K; s2 R$ X1 z5 x" b+ y
    保存文件6 E8 E/ r( W5 R# L$ X- ]' q

      p+ a! B5 q9 p0 d文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
      H+ b& k8 _2 R2 I! D( P$ G  E+ u/ X, \2 u
    workBook.save("Hello World.xls")
      W/ @1 \3 U* }0 p2 m" Z5 E1
    ; H( g+ ?1 R3 F& Q* f$ x6 _9 x拓展  o9 g. B( d$ q, p- T
      y1 F/ M+ V2 G: Q: S
    批量插入
    0 m  i  j9 k) H4 K: f! \9 B6 n7 k+ y8 {
    利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!8 n- W1 B5 M; @
    " z8 n2 }2 I. f1 M
    比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel: t& G. F! J- T1 R: i$ F
    / P! t. V$ m; {
    for i in range(0, 9):0 ^4 S( i. d& J/ c
        for j in range(0, i+1):
    5 C, n% O5 ]7 a3 p        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))& f* ~( w3 g4 q/ N4 n- I6 \: h
    1
    4 o$ j% t4 y8 G5 v5 R, X2; U1 A* U' w2 C
    3" `) R+ s0 ^4 v) F! P% s5 O& |7 B
    当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!4 h0 H) X# ]/ i- j% g  ~

    : b  B9 r: P1 f, T! g报错注意
    - w) a3 G9 W1 B: p$ n% K8 J
    - _1 ?/ j5 H; J- C6 Q如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!' ~# z; e' \' s$ Z5 {
    3 v" F* \8 p  T  D
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'! k- |6 r0 u) K/ ]" X4 I
    & L8 y7 n8 q  X! @9 q* W4 F

    6 s) ?7 L2 O1 O————————————————, I# f7 R& G3 t& j9 V" |0 N1 \! r& |
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。' M# F) c$ ~1 g8 D  p5 L
    原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028
    0 s7 q3 ^4 `( P, C7 s. v1 H3 }( y" I+ F) V0 \

    0 F* S1 Q% f% O! b
      l# g. p9 L# 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-4-18 18:00 , Processed in 0.447580 second(s), 55 queries .

    回顶部