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


    1. xlwings基本对象

      xlwings基本对象

    App相当于Excel程序,Book相当于工作簿。N个Excel程序则由apps表示,N个工作簿由books表示。

    1. 对工作簿的操作
      #导入xlwings模块
      import xlwings as xw
      #新建工作簿,这里默认为新建了一个App,即打开Excel程序,并新建一个工作簿
      xw.Book()
      #引用工作簿
      xw.Book('工作簿3')
      # 引用工作簿也可以用books
      xw.books['工作簿3’]
      #打开已有工作簿
      xw.Book(r'e:myworkbook.xlsx')
    2. 对sheet以及Range的操作
      import xlwings as xw
      wb=xw.Book()
      # 引用名字为"sheet2"的sheet
      sht=wb.sheets['sheet2']
      # 引用"sheet2"中的B1单元格
      rng=sht.range('B1')
      # 将B1单元格的值改为666
      rng.value=666

    数据结构

    1. 一维数据
      python的列表,可以和Excel中的行列进行数据交换,python中的一维列表,在Excel中默认为一行数据
      import xlwings as xw
      sht=xw.sheets.active
      # 将1,2,3分别写入了A1,B1,C1单元格中
      sht.range('A1').value=[1,2,3]
      # 将A1,B1,C1单元格的值存入list1列表中
      list1=sht.range('A1:C1').value
      # 将1,2,3分别写入了A1,A2,A3单元格中
      sht.range('A1').options(transpose=True).value=[1,2,3]
      # 将A1,A2,A3单元格中值存入list1列表中
      list1=sht.range('A1:A3').value
    2. 二维数据
      python的二维列表,可以转换为Excel中的行列。二维列表,即列表中的元素还是列表。在Excel中,二维列表中的列表元素,代表Excel表格中的一列。例如:
      # 将a1,a2,a3输入第一列,b1,b2,b3输入第二列
      list1=[[‘a1’,'a2','a3'],['b1','b2','b3']]
      sht.range('A1').value=list1

      运行结果
      # 将A1:B3的值赋给二维列表list1
      list1=sht.range('A1:B3‘).value
    3. Excel中区域的选取表格
      # 选取第一列
      rng=sht. range('A1').expand('down')
      rng.value=['a1','a2','a3']

      第一列
      # 选取第一行
      rng=sht.range('A1').expand('right')
      rng=['a1','b1']

      第一行
      # 选取表格
      rng.sht.range('A1').expand('table')
      rng.value=[[‘a1’,'a2','a3'],['b1','b2','b3']]

      表格

    结束

    • 本文首先简单介绍了,通过Python运用xlwings模块,对Excel工作簿、工作表和单元格的操作。
    • 再介绍了xlwings,如何对Excel表格的行和列写入和引用数据
    • 通过二维或者一维列表对Excel工作表的数据进行写入或者引用,既简化了代码,也提高了程序的效率。因为python读写Excel表格的速度,原小于python程序自身的运行速度。


    作者:LuckyFrog
    链接:http://www.jianshu.com/p/de7efe591c12
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    jqgrid 获取选中用户的数据插入
    jqgrid 自定义文本框、选择框等查询
    Java学习—— for循环
    Android中 Http请求
    异步消息处理机制——Handler用法
    ThreadLocal
    Android开发 学习笔记——HelloWorld
    eclipse 常用插件
    mysql 命令备份还原
    学习
  • 原文地址:https://www.cnblogs.com/catgatp/p/7875696.html
Copyright © 2020-2023  润新知