插上翅膀,讓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
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM