• 插上翅膀,让Excel飞起来——xlwings(二)


    在上一篇插上翅膀,让Excel飞起来——xlwings(一)中提到利用xlwings模块,用python操作Excel有如下的优点:

    • xlwings能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改
    • 可以和matplotlib以及pandas无缝连接
    • 可以调用Excel文件中VBA写好的程序,也可以让VBA调用用Python写的程序。
    • 开源免费,一直在更新

    本文紧接着上文介绍了xlwings模块一些常用的api


    xlwings基本对象

    常用函数和方法

    1. Book 工作簿常用的api
      wb=xw.books[‘工作簿名称']
      • wb.activate()激活为当前工作簿
      • wb.fullname 返回工作簿的绝对路径
      • wb.name 返回工作簿的名称
      • wb.save(path=None) 保存工作簿,默认路径为工作簿原路径,若未保存则为脚本所在的路径
        -wb. close() 关闭工作簿
        代码例子:
        # 引用Excel程序中,当前的工作簿
        wb=xw.books.acitve
        # 返回工作簿的绝对路径
        x=wb.fullname
        # 返回工作簿的名称
        x=wb.name
        # 保存工作簿,默认路径为工作簿原路径,若未保存则为脚本所在的路径
        x=wb.save(path=None)
        # 关闭工作簿
        x=wb.close()
    2. sheet 常用的api
       # 引用某指定sheet
       sht=xw.books['工作簿名称'].sheets['sheet的名称']
       # 激活sheet为活动工作表
       sht.activate()
       # 清除sheet的内容和格式
       sht.clear()
       # 清除sheet的内容
       sht.contents()
       # 获取sheet的名称
       sht.name
       # 删除sheet
       sht.delete
    3. range常用的api
       # 引用当前活动工作表的单元格
       rng=xw.Range('A1')
       # 加入超链接
       # rng.add_hyperlink(r'www.baidu.com','百度',‘提示:点击即链接到百度')
       # 取得当前range的地址
       rng.address
       rng.get_address()
       # 清除range的内容
       rng.clear_contents()
       # 清除格式和内容
       rng.clear()
       # 取得range的背景色,以元组形式返回RGB值
       rng.color
       # 设置range的颜色
       rng.color=(255,255,255)
       # 清除range的背景色
       rng.color=None
       # 获得range的第一列列标
       rng.column
       # 返回range中单元格的数据
       rng.count
       # 返回current_region
       rng.current_region
       # 返回ctrl + 方向
       rng.end('down')
       # 获取公式或者输入公式
       rng.formula='=SUM(B1:B5)'
       # 数组公式
       rng.formula_array
       # 获得单元格的绝对地址
       rng.get_address(row_absolute=True, column_absolute=True,include_sheetname=False, external=False)
       # 获得列宽
       rng.column_width
       # 返回range的总宽度
       rng.width
       # 获得range的超链接
       rng.hyperlink
       # 获得range中右下角最后一个单元格
       rng.last_cell
       # range平移
       rng.offset(row_offset=0,column_offset=0)
       #range进行resize改变range的大小
       rng.resize(row_size=None,column_size=None)
       # range的第一行行标
       rng.row
       # 行的高度,所有行一样高返回行高,不一样返回None
       rng.row_height
       # 返回range的总高度
       rng.height
       # 返回range的行数和列数
       rng.shape
       # 返回range所在的sheet 
       rng.sheet
       #返回range的所有行
       rng.rows
       # range的第一行
       rng.rows[0]
       # range的总行数
       rng.rows.count
       # 返回range的所有列
       rng.columns
       # 返回range的第一列
       rng.columns[0]
       # 返回range的列数
       rng.columns.count
       # 所有range的大小自适应
       rng.autofit()
       # 所有列宽度自适应
       rng.columns.autofit()
       # 所有行宽度自适应
       rng.rows.autofit()
    4. books 工作簿集合的api
       # 新建工作簿
       xw.books.add()
       # 引用当前活动工作簿
       xw.books.active
    5. sheets 工作表的集合
       # 新建工作表
       xw.sheets.add(name=None,before=None,after=None)
       # 引用当前活动sheet
       xw.sheets.active

    实例

    大Z老师,教了小z同学怎么用python操作Excel之后,利用第一篇和第二篇的知识,编写了一个python小脚本,给小Z同学演示了一下怎么用python调整单元格的行宽、列宽和背景色,做一些Interesting的事。


    大Z老师的作品.png

    小Z同学在看了这么cliche但是好玩的东西之后,自己果断地修改了代码,改变了单元格的颜色,并在sheet里面进行了题字,然后,便有新的作品:


    小z的作品.png

    下一课有机会教小z同学,利用python自带的time模块,让Excel中静态的画和字动起来,成为像gif一样的图片。

    参考资料:
    xlwings官方文档



    作者:LuckyFrog
    链接:http://www.jianshu.com/p/b534e0d465f7
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    Linux问题汇总
    Linux问题汇总
    朴素贝叶斯分类器
    捕捉异常信息
    异常处理类
    sqlserver2008链接服务器的使用和oracle11g客户端修改字符集
    抛出异常
    添加水印
    验证码
    sqlserver数据库备份
  • 原文地址:https://www.cnblogs.com/catgatp/p/7875691.html
Copyright © 2020-2023  润新知