QQ登录

只需要一步,快速开始

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

    * {; Q- n$ [+ ^! Z6 l$ V8 f如何用Python提高办公(Excel)效率?
    ) R6 Q! A# Q& h1 i1 G( g这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!, f0 t4 v6 C4 t5 \: P: m* N" `
    文章目录
    % g/ X' v! C. o0 ?
    ! A3 I" _  l4 y8 c  R: F5 }; @准备xlwt库
    - b2 Q2 n1 r4 ^2 N" P- L安装xlwt包
    ' g" `& f8 x, B5 v2 |1 V+ S+ U' ~Python文件中导入包7 p: o- m: F/ x; e
    xlwt使用
    2 b3 L) V. O1 ?" i" u) i创建WorkBook对象+ U$ z. ?' V- w# G: v& e3 F
    创建Sheet  R+ I' V4 n$ a$ h; S8 s
    添加数据; \# J2 {/ r( u" M+ n) Q- ?
    保存文件/ T2 Q$ Q- e. d/ x% u7 @9 {
    拓展
    0 ]$ ?# }7 R4 ]1 M  `% o8 @批量插入
    $ @3 ]0 y, g, S  h2 K( j+ {! Y6 K, m报错注意
      J1 i6 D- S& {准备xlwt库
    2 g& c3 r  {2 m1 n2 x" k! L; v9 x" x7 n$ \  x2 L8 {. i" v
    Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
    0 X& e/ w1 U% ?+ `4 Z" _6 _) l+ @  A
    8 ]3 c0 Z+ r- p) `安装xlwt包
    5 ~3 Z, F& C! W; N% d" W6 Q5 X( |6 P4 V
    File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
    / ^) T1 P) p5 Q; j5 }! I  C8 j9 @% e
    + t* F' R; O6 A) f( X4 C: V  z1 z 1.png 8 r" ]5 J8 O: w$ H9 s; A$ t
    2.png
    ! }4 d8 h4 r) B* G( f  v$ i6 w: k
    " \7 N( w1 M! b) F' h" SPython文件中导入包
    5 \) o4 L: b% {1 @( \  [. L1 r9 f: H7 Y' q
    import xlwt # 导入 xlwt 包/ E3 r( C) s4 y5 g9 H5 K
    1
    2 h8 R7 B6 f: S) p& _2 zxlwt使用& H+ \  U% s" ?) W4 R6 \2 o
    2 S1 Y! @7 V! k2 f: U; s# t6 g1 J7 l
    xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:2 D8 C/ |0 A' [1 D" d6 l9 s

    & X& _2 t5 I8 @创建WorkBook对象$ y- H$ S' l+ b/ E7 E4 [7 Q# _7 N

    # u% i7 ^5 {1 @/ D" y创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”
    7 S* s. z  `' h$ H% o* _
    . r4 v$ _4 h8 y$ AworkBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象9 H7 g) r/ Y4 x" P
    1
    6 C- z" A3 h" ^/ q& G, l, M) \3 q还有一个不常用的属性:压缩等级,直接不写就是默认 0- T) r+ j  r5 p( i0 X

    . Y3 v5 e9 o. B# style_compression 是表示设置压缩的等级
    ( ^, S. L, \1 {) s9 \% pworkBook = xlwt.Workbook(encoding="utf-8",style_compression=0): ^1 u+ `* v* j( d: |
    1, g: Q# a" P! ~
    2
      a! Y% s" q5 u创建Sheet9 y3 ~; ^" A8 ?* ^+ |& m# G
    $ e9 M! C/ p8 V7 U1 f
    用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作, m9 C4 d& }) ]0 }% q

    % Q5 l1 i5 T+ d/ d# ]- X0 y) rworkSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
    : ^* I& ^. _, x; c1 M12 ?$ y! g$ c- B5 M8 w8 \( R
    添加数据; e. L5 }- \' }& }7 Y( o

    1 G+ v$ M1 k9 N* N文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)
    1 w3 _/ U# h$ h6 z
    3 n3 z) F* U% |8 p) r1 h, |. xworkSheet.write( 0, 0,"Hello Wolrd !")) q" P2 [) v* S7 u& y6 F2 p
    1" v4 k) c: m9 b8 H* y" O* d3 J8 ]
    保存文件
    - B, P; {' D  h2 T* |" N
    - _- a1 O! {  P' c) V9 P3 {  d文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
    5 p- |9 G5 K/ X6 ^& w8 b; \( `8 W
    4 V/ e! A0 M7 Z% m; M( p! @workBook.save("Hello World.xls")
    3 C. U9 F' {7 W7 [1
    / f9 y) S8 J8 N* s拓展# N% y/ I" w! d* v7 i0 d
    ; o: d, r. Q3 D
    批量插入  q+ K, U* O- q3 d0 W* u

    ; e$ w- a0 Y2 J+ G8 `; a1 _利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    + T$ M" X: \: N, p( B# e, K
      ~6 w9 C+ E& p/ Q" }5 e比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel
    & i# X; f4 W/ ~1 v+ t6 x5 `3 ~  G4 J4 P, d( Q+ {
    for i in range(0, 9):% l* r0 g* Z, M, \1 p9 J
        for j in range(0, i+1):
    & w7 S5 I9 b, a/ n3 @( T        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))! w) P! W4 K/ V
    1
    2 }8 J: z4 ?9 f) ]& u2
    % p9 J. R9 r' A3
    - l* Y6 c* p5 j$ S! a当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!5 v4 U& k: F% K& m. v6 w
    ! D3 w( p5 r+ D
    报错注意. K. ~: ?2 i+ q/ \/ A0 Q7 V! F( s

    ! {) Q) P0 B% l如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!$ v, s0 L; b/ o& ^7 h: ]

    1 a6 T% {! J% k7 ?PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'4 ~8 `2 t! M4 i. n* X  [
    ' q  C5 Z% O. y& d$ t' z& s. A" t
    5 _3 t; U2 V- i) N
    ————————————————
    & M! Q- z* U( R, P0 i' z版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。4 W' c9 p1 s/ N5 e. X. `# [/ o+ k
    原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028
      h- Y8 g+ h+ `4 ~8 S) Z7 _7 t$ Q9 d5 e: Q# D

    $ F" M! R4 g5 @4 L; k' s( d$ b2 @& k- [% M0 }- }3 b, F7 G
    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-9-11 04:38 , Processed in 4.839628 second(s), 54 queries .

    回顶部