欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

xlwings

程序员文章站 2024-02-23 18:40:34
...

excel已经成为必不可少的数据处理软件,几乎天天在用。python有很多支持操作excel的第三方库,xlwings是其中一个
关于xlwings

xlwings开源免费,能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改。

xlwings还可以和matplotlib、numpy以及pandas无缝连接,支持读写numpy、pandas数据类型,将matplotlib可视化图表导入到excel中。

最重要的是xlwings可以调用Excel文件中VBA写好的程序,也可以让VBA调用用Python写的程序。

话不多说,我们开始练一练吧!

PS:对于小白来说学习python不是件容易的事,需要花相当的时间去适应python的语法逻辑,而且要坚持亲手敲代码,不断练习。

如果对自己没有自信,也可以考虑看编程课程,跟着老师的节奏去学习,能比较快地掌握python语法体系,也能得到充分的案例练习。

xlwings安装和导入

本文python版本为3.6,系统环境为windows,在jupyter notebook中进行实验。

xlwings库使用pip安装:

pip install xlwings

xlwings导入:

import xlwings as xw

xlwings实操
建立excel表连接

wb = xw.Book("e:\example.xlsx")

实例化工作表对象

sht = wb.sheets["sheet1"]

返回工作表绝对路径

wb.fullname

返回工作簿的名字

sht.name

在单元格中写入数据

sht.range('A1').value = "xlwings"

读取单元格内容

sht.range('A1').value

清除单元格内容和格式

sht.range('A1').clear()

获取单元格的列标

sht.range('A1').column

获取单元格的行标

sht.range('A1').row

获取单元格的行高

sht.range('A1').row_height

获取单元格的列宽

sht.range('A1').column_width

列宽自适应

sht.range('A1').columns.autofit()

行高自适应

sht.range('A1').rows.autofit()

给单元格上背景色,传入RGB值

sht.range('A1').color = (34,139,34)

获取单元格颜色,RGB值

sht.range('A1').color

清除单元格颜色

sht.range('A1').color = None

输入公式,相应单元格会出现计算结果

sht.range('A1').formula='=SUM(B6:B7)'

获取单元格公式

sht.range('A1').formula_array

在单元格中写入批量数据,只需要指定其实单元格位置即可

sht.range('A2').value = [['Foo 1', 'Foo 2', 'Foo 3'], [10.0, 20.0, 30.0]]

读取表中批量数据,使用expand()方法

sht.range('A2').expand().value

其实你也可以不指定工作表的地址,直接与电脑里的活动表格进行交互
加粗样式写入

xw.Range("E1").value = "xlwings"# 读取
xw.Range("E1").value