日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時間:2025/4/16 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 插上翅膀,让Excel飞起来——xlwings(一) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

python操作Excel的模塊,網(wǎng)上提到的模塊大致有:xlwings、xlrd、xlwt、openpyxl、pyxll等,他們提供的功能歸納起來有兩種:一、用python讀寫Excel文件,實(shí)際上就是讀寫有格式的文本文件,操作excel文件和操作text、csv文件沒有區(qū)別,Excel文件只是用來儲存數(shù)據(jù)。二、除了操作數(shù)據(jù),還可以調(diào)整Excel文件的表格寬度、字體顏色等。另外需要提到的是用COM調(diào)用Excel的API操作Excel文檔也是可行的,相當(dāng)麻煩基本和VBA沒有區(qū)別。


xlwings官網(wǎng).png


xlwings的特色

  • xlwings能夠非常方便的讀寫Excel文件中的數(shù)據(jù),并且能夠進(jìn)行單元格格式的修改
  • 可以和matplotlib以及pandas無縫連接
  • 可以調(diào)用Excel文件中VBA寫好的程序,也可以讓VBA調(diào)用用Python寫的程序。
  • 開源免費(fèi),一直在更新

    基本操作


xlwings基本對象
  • 打開已保存的Excel文檔 # 導(dǎo)入xlwings模塊,打開Excel程序,默認(rèn)設(shè)置:程序可見,只打開不新建工作薄,屏幕更新關(guān)閉import xlwings as xwapp=xw.App(visible=True,add_book=False)app.display_alerts=Falseapp.screen_updating=False# 文件位置:filepath,打開test文檔,然后保存,關(guān)閉,結(jié)束程序filepath=r'g:\Python Scripts\test.xlsx'wb=app.books.open(filepath)wb.save()wb.close()app.quit()
  • 新建Excel文檔,命名為test.xlsx,并保存在D盤。 import xlwings as xwapp=xw.App(visible=True,add_book=False)wb=app.books.add()wb.save(r'd:\test.xlsx')wb.close()app.quit()
  • 在單元格輸入值
    新建test.xlsx,在sheet1的第一個單元格輸入 “人生” ,然后保存關(guān)閉,退出Excel程序。 import xlwings as xwapp=xw.App(visible=True,add_book=False)wb=app.books.add()# wb就是新建的工作簿(workbook),下面則對wb的sheet1的A1單元格賦值wb.sheets['sheet1'].range('A1').value='人生'wb.save(r'd:\test.xlsx')wb.close()app.quit() 打開已保存的test.xlsx,在sheet2的第二個單元格輸入“苦短”,然后保存關(guān)閉,退出Excel程序 import xlwings as xwapp=xw.App(visible=True,add_book=False)wb=app.books.open(r'd:\test.xlsx')# wb就是新建的工作簿(workbook),下面則對wb的sheet1的A1單元格賦值wb.sheets['sheet1'].range('A1').value='苦短'wb.save()wb.close()app.quit() 掌握以上代碼,已經(jīng)完全可以把Excel當(dāng)作一個txt文本進(jìn)行數(shù)據(jù)儲存了,也可以讀取Excel文件的數(shù)據(jù),進(jìn)行計算后,并將結(jié)果保存在Excel中。
  • 引用工作簿、工作表和單元格

  • 引用工作簿,注意工作簿應(yīng)該首先被打開 wb.=xw.books['工作簿的名字‘]
  • 引用活動工作簿 wb=xw.books.active
  • 引用工作簿中的sheet sht=xw.books['工作簿的名字‘].sheets['sheet的名字']# 或者wb=xw.books['工作簿的名字']sht=wb.sheets[sheet的名字]
  • 引用活動sheet sht=xw.sheets.active
  • 引用A1單元格 rng=xw.books['工作簿的名字‘].sheets['sheet的名字']# 或者sht=xw.books['工作簿的名字‘].sheets['sheet的名字']rng=sht.range('A1')
  • 引用活動sheet上的單元格 # 注意Range首字母大寫rng=xw.Range('A1') 其中需要注意的是單元格的完全引用路徑是: # 第一個Excel程序的第一個工作薄的第一張sheet的第一個單元格xw.apps[0].books[0].sheets[0].range('A1') 迅速引用單元格的方式是 sht=xw.books['名字'].sheets['名字']# A1單元格rng=sht[’A1']# A1:B5單元格rng=sht['A1:B5']# 在第i+1行,第j+1列的單元格# B1單元格rng=sht[0,1]# A1:J10rng=sht[:10,:10]
  • PS: 對于單元格也可以用表示行列的tuple進(jìn)行引用

    # A1單元格的引用xw.Range(1,1)#A1:C3單元格的引用xw.Range((1,1),(3,3))

    儲存數(shù)據(jù)

  • 儲存單個值 # 注意".value“sht.range('A1').value=1
  • 儲存列表 # 將列表[1,2,3]儲存在A1:C1中sht.range('A1').value=[1,2,3]# 將列表[1,2,3]儲存在A1:A3中sht.range('A1').options(transpose=True).value=[1,2,3] # 將2x2表格,即二維數(shù)組,儲存在A1:B2中,如第一行1,2,第二行3,4sht.range('A1').options(expand='table')=[[1,2],[3,4]]
  • 讀取數(shù)據(jù)

  • 讀取單個值 # 將A1的值,讀取到a變量中a=sht.range('A1').value
  • 將值讀取到列表中 #將A1到A2的值,讀取到a列表中a=sht.range('A1:A2').value# 將第一行和第二行的數(shù)據(jù)按二維數(shù)組的方式讀取a=sht.range('A1:B2').value


  • 作者:LuckyFrog
    鏈接:http://www.jianshu.com/p/e21894fc5501
    來源:簡書
    著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

    轉(zhuǎn)載于:https://www.cnblogs.com/catgatp/p/7875683.html

    總結(jié)

    以上是生活随笔為你收集整理的插上翅膀,让Excel飞起来——xlwings(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。