xlwings,让excel飞起来!

您所在的位置:网站首页 xlwings教程 xlwings,让excel飞起来!

xlwings,让excel飞起来!

2023-02-23 12:44| 来源: 网络整理| 查看: 265

xlwings,让excel飞起来!

​​朱卫军​​

公众号:pydatas,更多技术文章

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

xlwings,让excel飞起来!_python

关于xlwings

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

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

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

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

xlwings安装和导入

本文python版本为3.6,系统环境为windows,在jupyter notebook中进行实验。​​​xlwings​​​库使用​​pip​​安装:

pip install xlwings

xlwings导入:

import xlwings as xw

xlwings,让excel飞起来!_VBA_02

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").valuexlwings与numpy、pandas、matplotlib互动支持写入numpy array数据类型import numpy as npnp_data = np.array((1,2,3))sht.range('F1').value = np_data支持将pandas DataFrame数据类型写入excelimport pandas as pddf = pd.DataFrame([[1,2], [3,4]], columns=['a', 'b'])sht.range('A5').value = df将数据读取,输出类型为DataFramesht.range('A5').options(pd.DataFrame,expand='table').value将matplotlib图表写入到excel表格里import matplotlib.pyplot as plt%matplotlib inlinefig = plt.figure()plt.plot([1, 2, 3, 4, 5])sht.pictures.add(fig, name='MyPlot', update=True)xlwings与VBA互相调用

xlwings与VBA的配合非常完美,你可以在python中调用VBA,也可以在VBA中使用python编程,这些通过xlwings都可以巧妙实现。这里不对该内容做详细讲解,感兴趣的童鞋可以去xlwings官网学习。

总结

xlwings操作excel语法简单,功能强大,又很好结合了pandas、numpy、matplotlib等分析库,非常适合奔波于python和excel之间的童鞋,让你更轻松地分析数据!

更多Python操作excel可以看我的Live



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3