- xlwings基本對象
xlwings基本對象
App相當於Excel程序,Book相當於工作簿。N個Excel程序則由apps表示,N個工作簿由books表示。
- 對工作簿的操作
#導入xlwings模塊 import xlwings as xw #新建工作簿,這里默認為新建了一個App,即打開Excel程序,並新建一個工作簿 xw.Book() #引用工作簿 xw.Book('工作簿3') # 引用工作簿也可以用books xw.books['工作簿3’] #打開已有工作簿 xw.Book(r'e:\myworkbook.xlsx')
- 對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
數據結構
- 一維數據
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
- 二維數據
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
- 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
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。