插上翅膀,讓Excel飛起來——xlwings(三)

【劇情回顧】

  1. xlwings基本對象


    xlwings基本對象

    App相當于Excel程序,Book相當于工作簿。N個Excel程序則由apps表示,N個工作簿由books表示。

  2. 對工作簿的操作
#導入xlwings模塊
import xlwings as xw
#新建工作簿,這里默認為新建了一個App,即打開Excel程序,并新建一個工作簿
xw.Book()
#引用工作簿
xw.Book('工作簿3')
# 引用工作簿也可以用books
xw.books['工作簿3’]
#打開已有工作簿
xw.Book(r'e:\myworkbook.xlsx')
  1. 對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

數(shù)據(jù)結構

  1. 一維數(shù)據(jù)
    python的列表,可以和Excel中的行列進行數(shù)據(jù)交換,python中的一維列表,在Excel中默認為一行數(shù)據(jù)
 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
  1. 二維數(shù)據(jù)
    python的二維列表,可以轉換為Excel中的行列。二維列表,即列表中的元素還是列表。在Excel中,二維列表中的列表元素,代表Excel表格中的一列。例如:
# 將a1,a2,a3輸入第一列,b1,b2,b3輸入第二列
list1=[[‘a(chǎn)1’,'a2','a3'],['b1','b2','b3']]
sht.range('A1').value=list1
運行結果
# 將A1:B3的值賦給二維列表list1
list1=sht.range('A1:B3‘).value
  1. Excel中區(qū)域的選取表格
# 選取第一列
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=[[‘a(chǎn)1’,'a2','a3'],['b1','b2','b3']]
表格

結束

  • 本文首先簡單介紹了,通過Python運用xlwings模塊,對Excel工作簿、工作表和單元格的操作。
  • 再介紹了xlwings,如何對Excel表格的行和列寫入和引用數(shù)據(jù)
  • 通過二維或者一維列表對Excel工作表的數(shù)據(jù)進行寫入或者引用,既簡化了代碼,也提高了程序的效率。因為python讀寫Excel表格的速度,原小于python程序自身的運行速度。

參考資料
xlwings官網(wǎng)
插上翅膀,讓Excel飛起來——xlwings(一)
插上翅膀,讓Excel飛起來——xlwings(二)

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容