温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

xlwings怎么安装和使用

发布时间:2022-02-25 09:53:27 来源:亿速云 阅读:1524 作者:iii 栏目:开发技术

这篇“xlwings怎么安装和使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“xlwings怎么安装和使用”文章吧。

Python 操作 Excel 模块简介

Python 操作 Excel 的模块,网上提到的模块大致有:xlwingsxlrdxlwtopenpyxlpyxll 等,他们提供的功能归纳起来无非有两种形式:

  • 1、用 Python 读写 Excel 文件,实际上就是读写有格式的文本文件,操作 excel 文件和操作 textcsv 文件没有区别,Excel 文件只是用来储存数据。

  • 2、除了操作数据,还可以调整Excel文件的表格宽度、字体颜色等。另外需要提到的是用 COM 调用 ExcelAPI 操作 Excel 文档同样也是可行的,相当麻烦基本和 VBA 没有区别。

关于 xlwings

为什么 xlwings 能让 Excel 飞起来呢,因为xlwings支持 Excel 的读写操作。具体使用请参照官网 ,一切技术的出现都是为了满足人的惰性,因此 xlwings 能让繁琐的工作简单化、简洁化。

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

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

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

xlwings 优点

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

  • xlwings 可以和 Matplotlib 以及 Pandas 无缝连接

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

  • xlwings 开源免费,并且一直在更新

xlwings 基本操作

xlwings 安装和使用

和其他模块使用一样,xlwings 在使用之前也需要安装,本文环境为 Python 3.6 版本的 Windows 环境。

模块安装

安装xlwings的最简单方法是通过pip

 pip install xlwings

或者使用conda:

 conda install xlwings

再或者

conda install -c conda-forge xlwings
引入模块使用
import xlwings as xw

Python to Excel

连接到工作簿最简单便捷的方法是由 xw.Book 提供:它在所有应用程序实例中查找该工作簿并返回错误,但如果同一个工作簿在多个实例中打开,要连接到活动应用程序实例中的工作簿,则需要使用 xw.books 并引用特定应用程序, 使用区别如下:

Header1Header2Header3
New bookxw.Book()xw.books.add()
Unsaved bookxw.Book('Book1')xw.books['Book1']
UBook by (full)namexw.Book(r'D:/test/file.xlsx')xw.books.open(r'D:/test/file.xlsx')

:在 Windows 上指定文件路径时,应该通过在字符串前放置一个 r 来使用原始字符串,或者使用双反斜杠:D:\Test\file.xlsx

Excel 活动对象
# 活动应用程序(即Excel实例)
app = xw.apps.active


# 活动工作簿
wb = xw.books.active  # 在活动app
wb = app.books.active  # 在特定app


# 活动工作表
sht = xw.sheets.active  # 在活动工作簿
sht = wb.sheets.active  # 在特定工作簿


# 活动工作表的Range
xw.Range('A1')  #在活动应用程序的活动工作簿的活动表上
基本操作

以下代码展示相关基本操作:

  • 打开表格

  • 引用工作表

  • 引用单元格

  • 引用区域

  • 写入数据(数据写入默认按照行写入,如果要指定相应的列写入则需要添加相应参数,指定参数为:transpose = True)

  • 读取数据

import xlwings as xw
# 打开表格
file_path = r'D:/test/file.xlsx'


xw.Book(file_path)   # 固定打开表格
xw.books.open(file_path) # 频繁打开表格


# 引用工作表
sht = wb.sheets['sheet1']


# 引用单元格
rng = xw.Range('A1')
# rng = sht[0,0] # 此代码第一行的第一列即a1,相当于 pandas 的切片


# 引用区域
rng = sht.range('a1:a5')
# rng = sht['a1:a5']
# rng = sht[:5,0]


# 写入数据


sht.range('a1').value = 'Hello Excel' # 指定一个单元格写入数据


# 按行写入数据
sht.range('a1').value = [1, 2, 3, 4,5,6,7,8]


# 按照列写入数据
sht.range('a2').options(transpose=True).value = [2, 3, 4, 5, 6, 7, 8]


# 按照二维列表的方式写入数据


sht.range('a9').expand('table').value = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i'],['j', 'k', 'l']]


# 读取写入的数据


print(sht.range('A1:D5').value)

xlwings 结合 matplotlib

xlwings 结合 Matplotlib 使用能讲图画贴入到 Excel 中,具体使用 pictures.add() 方法就可以很容易地将Matplotlib图作为图片粘贴到表格中。详细代码如下:

 fig = plt.figure()  # 指定画布
 # plt.plot([1, 2, 3, 4, 5])
 plt.plot([36,5,3,25,78])
 plt.plot([9,10,31,45])
 plt.plot([6,14,45,31])
 sht = xw.Book(r'G:/test/test.xlsx').sheets[0]
 sht.pictures.add(fig, name='myplt', update=True)

以上就是关于“xlwings怎么安装和使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI