QQ登录

只需要一步,快速开始

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

    1 f3 Y! R/ {* X% c/ S) m2 ?3 h2 X如何用Python提高办公(Excel)效率?
    6 C3 I, ^9 n2 z( V这几天在家里利用网络视频教程学习了一下简单的Python爬虫,然后需要把爬取的数据保存到Excel表,就接触了一下 xlwt 这个Python库,不用不知道,一用吓一跳,当我写一个99乘法表,连带我导包只需要 7 行代码的时候,我才想起来,为啥那么多文员的招聘上写着 “会Python的优先” 了 ,想想语言里面的那些语法,再想想配合起来用,几万行数据也不过几行代码即可实现,那效率简直是快到令人难以呼吸啊!
    / k2 Z' {6 b8 G3 X/ F$ }文章目录  w; B2 P0 ^( ^6 A

    3 Q7 s' E4 B9 R' U" B7 b& H; Q准备xlwt库
    9 l8 D( J2 j3 o. |% w* z1 I# y) E# _安装xlwt包. p$ r5 i: v- b' T* q
    Python文件中导入包
    ' S) m, \  \  N% I" w/ vxlwt使用
    & U; S- ~* K3 n, z3 a创建WorkBook对象
    # q" j9 x0 r6 v: R) [0 r5 V% Z创建Sheet8 y1 T4 R1 M* d$ b! c1 a
    添加数据
    6 Q- F5 T1 W2 R保存文件
    % z4 l9 Y. ^& C2 y; s  R* V拓展% l* O4 G- R4 |- V/ {
    批量插入" w& R8 G' B9 N: M% C) s
    报错注意
    - E; x" B3 R# U& V3 K5 q准备xlwt库1 @$ {4 Y/ F2 c6 P  K8 d

    7 s1 b4 `$ W2 D9 L8 o: G/ sPython里面经过多年沉淀下来的库也是数不胜数,并且很多库的功能都非常强大,我都觉得以后哪怕是一个简单的文员都需要掌握Python了,虽然现在还不算是硬性要求,但是这种趋势已经在社会上形成了,毕竟互联网时代是个快节奏时代,能有高效率的办公谁还喜欢低效率呢?! {% m' j! I. w: s5 x7 p

    3 b- p' m7 y, P安装xlwt包
    ' o) b# G% S/ |) v+ \
    $ F0 m# Y6 `# `$ HFile ->> Setting ->> Project:Name ->> Project Interpreter ->> 右边 + 号 ->> 搜索xlwt ->> 选中xlwt ->> 左下角 Install Package ->> 等待安装完成
    4 T0 {! I6 ?5 o, Q- |; E- [0 k6 ~9 A- w' m
    1.png
    & B4 W  N: S" Z  a; d$ J5 Y 2.png
    1 i2 \1 ]# i% b; y! t9 Z, r8 X$ g  S- V+ X: [% a* O
    Python文件中导入包/ q7 g* D2 }2 D6 ^8 Z

      E( X* z/ Y% qimport xlwt # 导入 xlwt 包
    . r/ I( ~) {* N) G1( K  ^- p) K3 K/ {; U7 H/ O' E
    xlwt使用
    + _+ [( J1 G" G5 O7 E
    5 c; G) @5 T* E, o5 z8 E( F  a9 uxlwt库的使用也非常简单,简单的写入数据可以按照如下四步(一步一行代码)走:" h/ r0 |6 M) U+ I- i! G

    . c) ]% ~! j9 `4 t创建WorkBook对象
    / `# i( S" B% c5 h# P* Z9 p  A$ Y" N$ u+ k% m, s7 {/ k' Y+ ?/ [: D
    创建WorkBook对象就约等于创建了一个Excel文件了,创建对象的时候只需要设置一下编码格式就行了,默认是ASCII,所以我们一般都需要设置一下 “UTF-8”
    # C4 s! T1 {5 V; W$ r$ e
    " j. F+ Z& W6 f2 VworkBook = xlwt.Workbook(encoding="utf-8")  # 创建workBook对象
    & K+ Q% p& e; v8 a1- {! s4 x$ l+ x) I
    还有一个不常用的属性:压缩等级,直接不写就是默认 0
    ' O/ l9 ?! @& z2 a* a( k' E% i
    " M+ t3 I8 h) ~# ?4 H* P* c# style_compression 是表示设置压缩的等级
    ( u: C0 f, @! U( z6 {  l# AworkBook = xlwt.Workbook(encoding="utf-8",style_compression=0)  t* Y: W1 g' e# e1 L/ A/ D% B
    1
    0 S$ @3 T, y0 u% f: x# k' F+ ~2
    + M+ k; f1 U; u创建Sheet
    ; K4 [# ^5 x0 Z2 B' I( I/ _" \9 Q& t6 Y5 W! I; u' a) _
    用过Excel的人应该都知道,一个xls(或xlsx)文件是可以有多个表的,当然可能我们很多时候习惯每个文件只有一个表有数据。这里只需调用WorkBook的 .add_sheet() 方法,设置一下表名,即可创建一个表,当然我们默认是设置一下覆盖属性:cell_overwrite_ok=True 表示可以覆盖原有数据进行写入操作  ]7 }- ]% E& J0 k0 O

    * I0 b* \- {2 r7 ?& WworkSheet = workBook.add_sheet("sheet1",cell_overwrite_ok=True)
    6 M, r& d8 W) [; m+ h1
    3 K( ]  T8 B+ u; k3 I添加数据  K7 {: V) A4 l, q0 N% u! Y" U7 g; T
    4 _9 d: ^& {% \  o, k" P1 @0 g% L
    文件有了,表有了,自然就剩下添加数据了,不然咱建个空文件、空表干啥呢?右键新建它不香嘛?写入数据的操作也是简单至极,调用workSheet的 .write() 方法,填入 行、列、数据 三个参数即可插入数据(作为一个程序猿,第一个数据当然要是神圣的:Hello World !)
    $ R# G  w7 X' ?  r1 Q7 k: d/ ^9 P
    ! P- r6 |* I( {workSheet.write( 0, 0,"Hello Wolrd !")
    " q' |1 X; Y! k* v2 }1+ F! ~; b7 e5 J/ m+ N
    保存文件
    + e4 p; g8 P9 ?5 g0 z$ ^% C( I. }8 b
    文件创建了,并不代表保存了,所以在写入完数据以后需要进行文件的保存(这里是保存在当前Python文件的同一个文件夹下)
    , g; J' x, O2 q8 q
    7 p1 U, @5 e8 B9 F+ nworkBook.save("Hello World.xls")
    5 `7 W3 r- [) M2 T' S1
    * P  `" s4 o; M7 u' O/ D1 Y拓展- @! y6 O* O9 E2 D( t0 G# |  Z
    & D6 s! j. }+ m: z& Z
    批量插入
    ! m5 a0 A3 c0 ]2 J! _: _. F% l: D# U; ^* l+ @0 s% a
    利用语法批量插入数据,可能很多小伙伴都会了,但是我还是死皮赖脸说一说吧!
    5 a- O9 M6 b6 a, h
    : s! d, R3 X' \* L7 j4 o% S1 x比如这样,就是一个99乘法表的数据,逻辑是和学语言的时候打印99乘法表一样的,只不过这里把打印变成了写入Excel
    + j+ j- i# Q8 I
    ; ]$ e$ O" \& M, t$ Tfor i in range(0, 9):
    ' y+ Y3 ]$ ^6 j8 ?; G/ T& D5 U( z    for j in range(0, i+1):
      e  _) p6 R1 b7 Q, ?        workSheet99.write(i, j, "%d * %d = %d" % (i+1, j+1, ((i+1) * (j+1))))
    " K7 R0 Z" D& ?19 N, c1 t' }7 P6 J) l$ ?! V  n
    2
    ' ~, D/ r$ l! a& M) \3
      y5 c$ @- {! w2 e* K6 W当然,还有很多很多操作,利用语法去实现,你会发现批量插入Excel数据如此简单,对于很多经常使用Excel批量插入或者处理数据人,感觉世界都轻松了起来!或许这就是程序改变世界吧!也验证了那句:人生苦短,我用Python!* ?8 e& {, _3 ^0 h( J/ A
    % u  h; ~7 Q0 l1 {- E
    报错注意+ G- b5 Y5 \9 l0 ~& O. s! a! m8 T  e, J
    # V4 H5 b: u5 O+ j3 M# n- M0 f
    如果你在进行这一系列操作的时候,报错了,点击错误链接跳转的是保存文件那一行,并且是这样的错误,那么恭喜你,没关Excel(我经常这样),因为你打开了这个数据表,他就被WPS之类的软件占用了,程序就没法对其进行读写操作了,所以这点是需要注意的!
    ) j5 J: K) W* J' Y8 p4 W& ~9 n& Y  O3 t$ O2 Z8 ?
    PermissionError: [Errno 13] Permission denied: 'xxxxx.xls'
    & O! @. z1 [0 ]* u6 Y7 b( y, G3 X: Y
    8 [5 x9 ^8 y9 H$ N8 Y9 f3 A, w! N+ Q( h, D
    ————————————————; H0 E9 ?. n# H, f0 ~8 O
    版权声明:本文为CSDN博主「Android_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    3 x, g  {3 Q2 a( v% h' V" [4 w原文链接:https://blog.csdn.net/qq_44720366/article/details/106152028" ]6 p: y% P3 g! ~& D7 |
    ! x/ x& ]' R1 I

    ; K$ i" i4 j. G- U- H2 [) J* m! _4 Y" _9 f& ~8 _9 Q1 ^
    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-6-25 17:43 , Processed in 0.407535 second(s), 53 queries .

    回顶部