zoukankan      html  css  js  c++  java
  • 插上翅膀,让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
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    UVALive 4660 A+B
    UVALive 4660 A+B
    UVA10474 Where is the Marble?
    UVA10474 Where is the Marble?
    UVA1339 UVALive3213 POJ2159 ZOJ2658 Ancient Cipher【密码】
    hdu_1108 最小公倍数
    hdu_1106 排序
    hdu_1205 吃糖果
    hdu_1201 18岁生日
    hdu_1005 Number Sequence
  • 原文地址:https://www.cnblogs.com/catgatp/p/7875696.html
Copyright © 2011-2022 走看看