python操作excel库xlwings

作者: admin 分类: python 发布时间: 2022-11-29 21:06

openpyxl这个库进行EXCEL办公自动化操作给我带来了不少方便快捷,不过最近想换掉这个库,主要原因是这个openpyxl库没法操作.xls读写,只支持.xlsx读写。在网上早就看到另外一个库:xlwings,这个xlwings库可以操作.xls读写,也可以操作.xlsx读写等。简单看了下视频教程,使用方法跟openpyxl这个库差不多。简单实践还发现这个库还可以在打开了Excel文档的情况下,进行EXCEL文档的操作。之前的openpyxl库是不支持这么做的,所以只能关闭了文件才能运行程序,要打开看效果,又必须手动打开文件查看。另外在复制一行(复制一列),查看一行(查看一列)等方面都比openpyxl这个库方便。下面是这个库的常见操作,转载备忘:

一、课程介绍

这个课程就是讲解python操作excel库xlwings,

讲课内容,就讲一些比较常用的操作,

这些常用的操作可以满足日常80-90%的需求了,

不常用的操作,大家需要的时候自己去查查手册即可

官网文档:https://docs.xlwings.org/en/stable/

我们先讲一些xlwings常用知识,再讲1-2个具体处理数据的实例,大家通过实例,就能有一个非常深刻的理解。


xlwings介绍

xlwings 是 Python 中操作Excel 的一个第三方库,

支持.xls读写,.xlsx读写

操作非常简单,功能也很强大


python操作excel第三方库统计

支持操作列表


xlwings的操作逻辑

xlwings的操作逻辑

应用->工作簿->工作表->范围

  • 应用:一个应用(一个xlwings程序)
  • 工作簿(book)
  • 工作表(sheet)
  • 范围:行列

xlwings安装和引入

1、安装库

pip install xlwings

2、引入库

import xlwings as xw

二、写入excel基本操作

import xlwings as xw
# 应用->工作簿->工作表->范围
# 应用
# visible用于设置xlwings操作excel的过程是否显示,默认True表示显示
# add_book表示xlwings操作excel的时候是否新增一个excel文件,默认是true
app = xw.App(visible=True,add_book=False)
# 工作簿
wb = app.books.add()
# 工作表
sht = wb.sheets["sheet1"]
# 范围
sht.range("a2").value="饭某某111"
# 保存excel
wb.save("demo2.xlsx")
# 关闭excel程序
wb.close()
app.quit()

三、写入excel常见操作

import xlwings as xw
# 应用->工作簿->工作表->范围
# 应用
app = xw.App(visible=True,add_book=False)
# 工作簿
wb = app.books.add()
# 工作表
sht = wb.sheets["sheet1"]
# 范围
sht.range("a2").value="饭某某111"
# 保存excel
wb.save("demo3.xlsx")
# 指定单元格来写入
sht.range("b3").value="b3"
# 直接写一行
# sht.range("c4").value=[1,2,3,4]
# 等效于
sht.range("c4:f4").value=[5,6,7,8]
# 插入一列
# 这样不行,因为默认是横着插入
# sht.range("b6:b9").value=[5,6,7,8]
sht.range("b7").options(transpose=True).value=[5,6,7,8]
# 插入行列
sht.range("c12").value=[[1,2],[3,4]]
# 关闭excel程序
wb.save()
wb.close()
app.quit()

四 、读excel基本操作

读excel的基本操作和写的一样,都是按照xlwings对应的逻辑:应用->工作簿->工作表->范围 一步步操作即可,只不过读的时候工作簿不是增加而是打开的,所以是open方法:app.books.open(“demo3.xlsx”)

import xlwings as xw
# 应用->工作簿->工作表->范围
# 应用
app = xw.App(visible=True,add_book=False)
# 工作簿
wb = app.books.open("demo3.xlsx")
# 工作表
sht = wb.sheets["sheet1"]
# 范围
print(sht.range("a2").value)
# 保存excel
wb.save()
# 关闭excel程序
wb.close()
app.quit()

五、读excel常用方式

读excel的方式非常简单,无论是读某个单元格,还是读行读列,以及读范围,都是sht.range(“c12:d13”).value 这个方法,在range里面指定好读取的范围即可。

import xlwings as xw
# 应用->工作簿->工作表->范围
# 应用
app = xw.App(visible=True,add_book=False)
# 工作簿
wb = app.books.open("demo3.xlsx")
# 工作表
sht = wb.sheets["sheet1"]
# 1、读取某个位置的值
print(sht.range("b3").value)
# 2、读一行
print(sht.range("c4:f4").value)
# 3、读一列
print(sht.range("b7:b10").value)
# 4、读一个范围(读行列)
print(sht.range("c12:d13").value)
# 保存excel
wb.save()
# 关闭excel程序
wb.close()
app.quit()

六、补充:

关于打开EXCEL文档,在网上还看到另外一种操作方法,即不需要创建APP,直接打开文档,比如我下面的写法也可以,暂时没发现有什么问题:

文档1=xw.Book(r"C:/Users/Administrator/Desktop/义务教育fei寄宿生生活补助资助名单.xls")    #打开已有EXCEL文档,如果不写入任何值,则是创建一个新的文档

sheet1=文档1.sheets["sheet1"]   #选择操作文档1的其中一个表格

在保存,关闭等操作上都是正常的,也可以同时操作多个文件。以后应该会主要用这个xlwings库了。

相关文章

发表评论

邮箱地址不会被公开。 必填项已用*标注

Powered by 草根站长笔记 © 2015-2020 草根站长笔记 Inc.版权所有,禁止转载