excel操作 - xlwings模块

excel操作 - xlwings模块

xlwings模块介绍

读写的基本操作

写入

  • 写入基本操作方法,流程
  • 建立与工作簿的连接:
import xlwings as xw
wb = xw.Book()  # this will create a new workbook
wb = xw.Book('FileName.xlsx')  # connect to a file that is open or in the current working directory
wb = xw.Book(r'C:\path\to\file.xlsx')  # on Windows: use raw strings to escape backslashes
import xlwings as xw

app = xw.App()  # 创建应用
# 参数1 : add_book = False, 仅打开一个
# 参数2 :visible = False , 关闭操作过程
 
wb = app.books.add()  # 添加工作簿
sht = wb.sheets["sheet1"]  # 工作表
sht.range("a1").value = "QWQ"  # 范围写值
wb.save("demon.xlsx")  # 保存文件
wb.close()  # 文件关闭
app.quit()  # 退出应用
  • 写入常见方法
import xlwings as xw
app = xw.App(add_book = False)  # 创建应用
wb = app.books.add()  # 添加工作簿
sht = wb.sheets["sheet1"]  # 工作表

# 写入方法 :
# (1) 指定单元格写入
sht.range("a1").value = "QWQ"  
# (2) 一行写入
sht.range("b1").value = [1,2,3,4]
sht.range("b2:e2").value = [1,2,3,4]
# (3) 一列写入
sht.range("a2").options(transpose=True).value = ["LNL","HJW","LYF"]
# (4) 插入行列
sht.range("b3").value = [[5,6,7,8],[5,6,7,8],]
wb.save("demon.xlsx")  # 保存文件

在这里插入图片描述

读取

  • 读取方法相对比写入更加简单,读取上述所示表格中的内容
import xlwings as xw
app = xw.App(add_book = False)  # 创建应用
wb = app.books.open("demon.xlsx")  # 打开工作簿
sht = wb.sheets["sheet1"]  # 工作表

# 读取方法 :
# (1) 读取指定的单元格
print(sht.range("a1").value)
# (2) 读取一行
print(sht.range("b1:e1").value)
# (3) 读取一列
print(sht.range("a2:a4").value)
# (4) 读取行列
print(sht.range("b2:e4").value)

wb.save("demon.xlsx")  # 保存文件
wb.close()
app.quit()

在这里插入图片描述

xlwings库总结

APP 操作方法

  • 一个App对应于一个excel实例,多个excel程序集合用Apps表示
  • APP操作方法总结 (import xlwings as xw):
方法作用使用示例说明
查看Apps包含的所有AppApps = xw.apps对应多个excel程序集合
返回App总数count = xw.apps.countexcel程序集合数量
查看所有的PIDkeys = xw.apps.keys()每个App对应一个PID值,可以看作是数字编号,用来识别不同的App
创建Appapp=xw.App()打开Excel程序并且自动创建一个工作薄,参数:visible用来设置程序是否可见,True表示可见(默认),Flase不可见;add_book用来设置是否自动创建工作簿,True表示自动创建(默认),False不创建
查看PIDpid = app.pid查看创建的app的PID
引用Appapp = xw.apps[pid_index]pid_index为创建打开的app的PID值
返回当前活动Appapp = xw.apps.active得到当前操作的app
激活Appapp.activate()激活将要操作的app
退出Appapp.kill()通过杀掉进程,强制Excel app退出
退出Appapp.quit()退出excel程序,不保存任何工作簿
计算工作簿里的公式app.calculate()重新计算一遍所有工作簿里的公式
App是否可见设置app.visible = True设置App为可见

Book 操作方法

  • Book对应excel工作薄,就是一个excel文件
  • Book操作方法总结
方法作用使用示例说明
App包含的所有的Bookbooks = xw.books当前活动App的工作簿集合
App包含的Bookbooks = app.books指定App的所有工作簿的集合
新建工作薄wb = app.books.add()在当前App下新建一个Book
新建工作薄wb = xw.Book()创建一个新的App,并在新App中新建一个Book
打开工作薄wb = app.books.open(‘test.xlsx’)
wb = xw.Book(‘test.xlsx’)
打开代码所在路径下的文件
打开工作薄wb = app.books.open(r’文件绝对路径’)
wb = xw.Book(r’文件绝对路径’)
打开绝对路径下的文件
引用工作薄wb = app.books(‘test.xlsx’)
wb = xw.Book(‘test.xlsx’)
告诉程序要操作的对象
激活工作薄wb.activate()
wb.activate(steal_focus=True)
steal_focus=True, 则把窗口显示到最上层,并且把焦点从Python切换到Excel
保存工作簿wb.save()
wb.save(r’D:\test.csv’)
默认保存在工作薄所在的路径
清除内存app.quit()清理一下Excel程序
关闭工作簿wb.close()直接关闭工作簿,不会进行保存
工作簿路径path = wb.fullname获取工作簿的绝度路径
工作簿名称name = wb.name获取工作薄名称(带扩展名)

Sheet 操作方法

方法作用使用示例说明
查看所有工作表sheets = xw.sheets
sheets = wb.sheets
工作簿包含的所有Sheet,xw : 当前活动工作薄,wb : 指定工作薄
新建工作表sht = wb.sheets.add(‘test’,after=‘sheet2’)参数1为工作表名称;参数2为插入位置,可选before或者after
引用工作表sht = wb.sheets(‘sheet1’)
sht = wb.sheets(1)
引用即将操作的工作表
查看当前工作表sht = xw.sheets.active返回当前活动工作表
激活sht.activate()激活工作表
清除内容格式sht.clear()清除工作表所有内容和格式
清除内容sht.clear_contents()清除工作表的所有内容但是保留原有格式
删除工作表sht.delete()可删除隐藏的工作表,但不能删除深度隐藏的工作表
自动调整行高列宽sht.autofit(‘c’)行自适应,用 rows 或 r;列自适应,用 columns 或 c;同时做行和列的自适应,不需要参数
选定工作表sht.select()只能在活动工作簿中选择
工作表名称name = sht.name返回工作表名称
修改工作表名称sht.name = ‘rename’重命名工作表名称
查看索引值index = sht.index返回工作表的索引值

range 操作方法

方法作用使用示例说明
引用单元格区域sht.range(“a1”)引用a1单元格
引用行区域sht.range(“a1:e1”)引用a1到e1一行单元格
引用列区域sht.range(“a1:a5”)引用a1到a5一列单元格
引用区域sht.range(“a1:d5”)引用a1到d5的单元格
获取单元格内容sht.range(“a1”).value获取a1单元格内容
单元格赋值sht.range(“a1”).value = valuea1单元格内容赋值
单元格行高列宽sht.range(“a1”).row_height
sht.range(“a1”).column_width
row_height 行高,column_width 列宽
背景色sht.range(“a1”).color单元格背景色

感谢阅读 若有错误 敬请见谅 !!!


  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

园长QwQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值