比起xlrd、xlwt和xlutils,xlwings可豪華多了,它具備以下特點:
- xlwings能夠非常方便的讀寫Excel文件中的數據,並且能夠進行單元格格式的修改
- 可以和matplotlib以及pandas無縫連接,支持讀寫numpy、pandas數據類型,將matplotlib可視化圖表導入到excel中。
- 可以調用Excel文件中VBA寫好的程序,也可以讓VBA調用用Python寫的程序。
- 開源免費,一直在更新
官方文檔:https://docs.xlwings.org/en/stable/api.html
3.4.1 pip安裝xlwings
pip install xlwings
3.4.1 xlwings 新建 Excel 文檔
程序示例:
# 3.4.2 xlwings 新建 Excle 文檔
def fun3_4_2():
# 新建Excle
app = xw.App(visible=True, add_book=False)
# 新建工作簿 (如果不接下一條代碼的話,Excel只會一閃而過,賣個萌就走了)
wb = app.books.add()
# 保存工作簿
wb.save('example.xlsx')
# 退出工作簿
wb.close()
# 退出Excel
app.quit()
執行程序後文件夾增加了“example.xlsx”:
此時表格是空的:
3.4.2 xlwings 打開已存在的 Excel 文檔
現有表格長這樣:
運行程序:
# 3.4.3 xlwings 打開已存在的Excel文件
def fun3_4_3():
# 新建Excle 默認設置:程序可見,只打開不新建工作薄,屏幕更新關閉
app = xw.App(visible=True, add_book=False)
app.display_alerts = False
app.screen_updating = False
# 打開已存在的Excel文件
wb=app.books.open('./3_4 xlwings 修改操作練習.xlsx')
# 保存工作簿
wb.save('example_2.xlsx')
# 退出工作簿
wb.close()
# 退出Excel
app.quit()
生成新的表格:
內容如下:
3.4.3 xlwings 讀寫 Excel
程序示例:
# 3.4.4 xlwings讀寫 Excel
def fun3_4_4():
# 新建Excle 默認設置:程序可見,只打開不新建工作薄,屏幕更新關閉
app = xw.App(visible=True, add_book=False)
app.display_alerts = False
app.screen_updating = False
# 打開已存在的Excel文件
wb=app.books.open('./3_4 xlwings 修改操作練習.xlsx')
# 獲取sheet對象
print(wb.sheets)
sheet = wb.sheets[0]
# sheet = wb.sheets["sheet1"]
# 讀取Excel信息
cellB1_value = sheet.range('B1').value
print("單元格B1內容爲:",cellB1_value)
# 清除單元格內容和格式
sheet.range('A1').clear()
# 寫入單元格
sheet.range('A1').value = "xlwings寫入"
# 保存工作簿
wb.save('example_3.xlsx')
# 退出工作簿
wb.close()
# 退出Excel
app.quit()
執行效果:
以上模塊功能沒列舉全,大家有什麼希望的操作可以直接留言,我收到留言後會增加相關操作示例(若有),並對文章進行更新,謝謝大家!