QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5384|回复: 0
打印 上一主题 下一主题

如何用Python提高办公(Excel)效率?

[复制链接]
字体大小: 正常 放大
杨利霞        

5273

主题

81

听众

17万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2020-5-30 14:47 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta

    . U* E( H" E9 J5 H如何用Python提高办公(Excel)效率?
    , k1 \6 x- o5 G6 A' z这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!$ x' n  s; x4 v0 f
    文章目录
    3 F' O5 Y& E$ K1 C1 f' |4 j( W* K; a" j' Q- `; ]6 D
    准备xlwt库. f: B5 ?* V: T) z  f6 d2 W; V- a
    安装xlwt包3 k' B& C: f0 I
    Python文件中导入包
    ' I1 L" j. K! Pxlwt使用
    ! H& U! O9 e. i创建WorkBook对象
    8 l' `+ u6 s/ ^0 o8 m0 N) F: x; \创建Sheet" k7 }/ k3 }3 c5 Y: w" i; a5 X
    添加数据
    0 }- b( c2 `( Y% g保存文件
    ' G+ J6 W3 }! W  W拓展
    / M, v7 g7 h5 W$ {批量插入
    4 ?) W5 Z8 u) H3 m7 }# |5 `9 }. l6 C报错注意2 o# l/ m# d: b' `) Y; X
    准备xlwt库: W, E3 o) \  @) s  d  v
      H( [* `+ x3 M' r# t# E2 c! e+ ~
    Python里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?
    & w+ d, d5 `( F
    ( ?" P9 y  P9 ^9 u4 M0 v9 c! w安装xlwt包
    6 k( }& n8 @' {' j7 W5 m7 y' c2 T- b: J3 {: K3 s
    File ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成0 A1 }" G( m% c( `
    . U# l1 k. f7 D7 \( E
    1.png 8 j- n% @" q- G; o# f
    2.png
      T& F. g. `' ~* ^/ a' C7 u, O
    8 B" c2 b! O0 m$ R  v6 z. @' {7 XPython文件中导入包! F/ M5 k( y4 h- r) @4 E+ ^

    , Q& g; ]+ M0 I7 y, ~8 f; }4 Y- Zimport xlwt # 导入 xlwt 包
    1 A1 X" K/ q6 j4 R0 }  [  a1
    9 W4 b! f% k' ~" J: Exlwt使用- @- M$ x( t3 g4 o, i% N
    4 Z$ v' V' J2 F
    xlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:
    5 n; e  E" X2 D% P
    4 c( f; r5 |8 r, h, q7 r) b# t创建WorkBook对象
    , r5 `4 ~: U2 t. V- g8 g* C6 ], F2 z% c/ J1 `" e9 m' X
    创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”
    ) v8 ]2 I; J% L4 d# x* ]
    9 M+ h) N/ p: i( j. c3 OworkBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象
    % o, ]3 Z8 E7 }5 Z13 a' F" b* @: f% D! X. S: U( c2 u8 ~
    还有一个不常用的属性:压缩等级,直接不写就是默认 0- k8 X$ }. }' M4 v- L

    0 ^4 q- H- f5 ^+ A' k! x# style_compression 是表示设置压缩的等级
    0 q. T! j1 s, u+ q( P# M! j# Z. aworkBook = xlwt.Workbook(encoding="utf-8",style_compression=0)
    2 k. R9 c. V5 f& Z. g3 T1
    3 l8 F$ T& L0 {# M1 m( G- x3 Q2  y" m7 z" y: O; P$ ?8 M3 R7 M
    创建Sheet
    * n/ i% M7 r; W' k2 {& c8 Y
    8 q. O+ ]! [# E- N! E8 [6 a: R用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作: N: s& y: x7 e& ?" q4 g
    6 z; t! }# x6 n: t9 j& H
    workSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)7 L& r+ F7 T. _4 M1 i
    14 |7 R6 {% j9 B* c
    添加数据
    : I& M. n" J/ o- H: |# _
    1 |' \( `, @, ~  G! i7 `文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)% j% k/ c  w/ z" S3 x" s( j

    # ^& `; d6 g$ e/ J+ |& \9 pworkSheet.write( 0, 0,"Hello Wolrd !")
    5 |% O3 {" L! @# C7 Z" c7 R4 R1
    0 _8 l) G& G' e, i- ?保存文件( Q" [9 g) C( M  i) d

    8 Y& B! \) [  K文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)+ f% c, N0 B+ r# F( O2 E+ U

    1 r! l$ _' Z0 n9 G# {workBook.save("Hello World.xls")
    7 a: \# J, ^2 y0 n# P: Q* X1
    , h" m* ~" V$ g& W! Q5 p/ j拓展
    3 H( y5 G0 C, o' \2 d% @9 c* {! m( P6 ?' ?! a$ F2 M( i
    批量插入' q) N9 m8 ~% ?( o4 M+ h
    - j& `! L0 _5 j8 m
    利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    , P8 t% Q8 t# B2 l0 H+ f) P/ j2 S7 M# V! ^/ b
    比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel( X7 U+ N- c# {6 q, ]

    7 u% a$ `/ g" Mfor i in range(0, 9):, \- R$ z5 U3 t# Y" b
        for j in range(0, i+1):
    ! \& v, i6 G2 h5 ]- x        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))
    1 A" N+ F% t5 |6 z; ^* d& j5 e13 N+ J$ c. o; y( ~1 B
    2- [1 @, c) e) y/ z, x( d
    3( B1 S% z1 ?2 U6 S$ }
    当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!
      r. \9 \% ?& _! _& s0 D
    3 ~0 |! `. [1 s! p8 C- |报错注意
    ) q( z1 O) c6 C9 c& H0 b1 F
    , ]3 [/ z2 [& X# F) d如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!' L1 N. l( Y* ~. y
    ' b6 t6 `# G$ W: N9 z, I
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'
    + s5 o9 X, k- k2 Z& r
    $ m3 o! Q0 d0 H6 Z: c7 R' Q. h$ z' s! M' v2 g! n9 s6 I
    ————————————————/ l6 c: C% T0 U6 Y0 e
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。2 E: e6 F+ q% |) m4 P
    原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028
    + L. R8 T7 l( S! y$ j& i" K
    7 @' C( t: }& C" l! A) P, T1 m* z5 m9 W7 z* ~* ~5 h9 r3 W6 ?

    . P0 h0 L0 J) z: d7 ^3 c: }; w' D6 A9 L) J
    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, 2025-5-10 05:52 , Processed in 0.326121 second(s), 53 queries .

    回顶部