Excel作为我们日常办公过程中必备的数据处理软件,几乎天天在用。很多python模块也对Excel提供了API支持,比如之前说过的pandas、openpyxl等都对Excel的操作提供了很好的支持。
今天介绍的这款python模块就是xlwings,相比于其他的python对Excel的数据处理模块。xlwings可以和matplotlib、numpy以及pandas(三剑客)很好的兼容。另外xlwings也可以和Excel-VBA进行相互调用的操作,接下来我们直接进入正题。
下面给出官方的接口文档地址,供小伙伴们参考。
https://docs.xlwings.org/en/latest/
xlwings作为python的非标准模块,需要使用pip的方式安装一下该模块。
pip install xlwings
完成xlwings模块的安装之后,先来看看xlwings对与Excel的一些常规操作。下面主要通过两个部分来说明,分别是xlwings对Excel的操作、xlwings和matplotlib、numpy以及pandas(三剑客)的配合使用。
1、xlwings处理Excel数据
通过xlwings模块获取并处理Excel文档对象以及工作表,完成文件数据对象初始化。
# 导入xlwings模块
import xlwings as xlw
# 读取Excel文档数据对象
work_book = xlw.Book('/usr/local/test.xlsx')
# 获取Excel的工作表sheet对象
sheet_ = work_book.sheets["sheet1"]
# 打印工作表的绝对路径地址
print(work_book.fullname)
# 打印工作簿的名称
print(sheet_.name)
通过xlwings模块读取、写入单元格的数据值对象,完成对Excel文档中的数据操作。
# 读取当前工作表的某个单元格的内容
print(sheet_.range('A1').value)
# 写入当前工作表的某个单元格的内容
sheet_.range('A1').value = 'Python 集中营'
# 清除某个单元格的内容和格式
sheet_.range('A2').clear()
# 在某个单元格中输入Excel的计算公式
sheet_.range('A3').fornula = '=SUM(B6:B7)'
# 获取单元格中的公式
print(sheet_.range('A4').formula_array)
2、xlwings配合三剑客使用
xlwings模块支持通过numpy模块的array函数可以直接将数组的序列化数据直接写入到某个单元格中。
# 导入numpy模块,用于创建array数组
import numpy as np
# 初始化numpy模块的数组对象
array_data = np.array(('a', 'b', 'c'))
# 将array数组对象直接赋值给某个单元格
sheet_.range('A5').value = array_data
# xlwings模块支持将pandas.DataFrame数据对象直接写入到
# 某个单元格中。
# 导入pandas模块,用于处理DataFrame对象的数据
import pandas as pd
# 初始化pandas.DataFrame数据对象
data_frame = pd.DataFrame([['a', 'b'], ['c', 'd']], columns=['name', 'value'])
# pandas.DataFrame数据对象赋值给某个单元格
sheet_.range('A6').value = data_frame
也可以将某个单元格的数据直接读取并返回pandas.DataFrame数据对象。
# xlwings模块读取并返回DataFrame对象
data_frame2 = sheet_.range('A7').options(pd.DataFrame, expand='table').value
# 通过matplotib模块创建图表对象绘制,然后使用xlwings模块将图表对对象保存
# 到Excel的文件对象中。
# 导入matplotlib图表绘制模块
import matplotlib.pyplot as plt
# 创建Figure图表对象
fig_ = plt.figure()
# 绘制图表
plt.plot(['a', 'b', 'c', 'd'])
# 将Figure图表对象写入到Excel对象中
sheet_.pictures.add(fig_, name='图表', update=True)
更多关于xlwings模块的Excel操作可以前往xlwings官方网站进行查看,操作内容更加丰富。
https://www.xlwings.org/
3、2023-04-15粉丝分享排行榜
以下是4月份粉丝福利,请分享排行榜中排名第一名的小伙伴联系博主获取随机编程类书籍。
以上就是“python数据分析三剑客遇上xlwings教程”的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/11365/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取