xlwings 合并单元格 读取_xlwings,让excel飞起来

77236618b5e75aabc0bbd7bb2d5db179.png

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

d0184b8a6ea99e5e15876f3ca629104d.png

关于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
9e7ceabc6717c57e4d7b6b8c3b0e129d.png

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

xlwings与numpy、pandas、matplotlib互动

  • 支持写入numpy array数据类型
import numpy as npnp_data = np.array((1,2,3))sht.range('F1').value = np_data
  • 支持将pandas DataFrame数据类型写入excel
import pandas as pddf = pd.DataFrame([[1,2], [3,4]], columns=['a', 'b'])sht.range('A5').value = df
  • 将数据读取,输出类型为DataFrame
sht.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之间的童鞋,让你更轻松地分析数据!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一棵树的生物量怎么算_宾利的眼镜盒价值2万,算坑人吗?网友:良心产品,不坑穷人...

阅读本文前,请您先点击上面的蓝色字体“总李谈车”,再点击“关注”,这样您就可以继续免费收到文章了。每天都有分享,完全是免费订阅,请放心关注。原创持续更新“第1991天”宾利,全球顶级豪车之一&#xff0…

sql注入基于错误-单引号-字符型

查找注入点在url中:1. 2. and 11/and 123. 随即输入(整形)4. -1/1回显上下页面(整形)5. and sleep(5) (判断页面返回时间)判断有多少列order by .....爆显示位&#xff1…

Gartner 2019年人工智能成熟度曲线的超前趋势

来源:FreeBuf.COMGartner的这种成熟度周期凸显出人工智能正以多种不同的方式影响企业根据Gartner对2019年的CIO议程调查,2018年至2019年间,部署人工智能(AI)的组织从4%增长到了14%。与几年前相比,人工智能正在以多种不同的方式影响…

C++打印浮点数时保留两位小数

int main() {printf("%.2f",2.356); //2.36,以四舍五入方式保留小数return 0; }

生产环境可以用吗_柑橘可以生产果醋吗?柑橘果醋的生产工艺是什么?

柑橘可以生产果醋吗?柑橘果醋的生产工艺是什么?柑橘果醋的生产工艺,其特征在于它是以新鲜、成熟的柑橘类水果,特别是宽皮桔类、柑类、橙类等柑橘为原料,通过去皮、榨汁、离心分离、脱苦、低温酒精发酵、醋酸发酵、陈酿…

a4b5笔记本大小对比_天津订做笔记本*价格多少【广通印务】

天津订做笔记本*价格多少【广通印务】很多礼品盒包装设计师选择将绿色和环保理念融入到礼品盒包装设计中,让整个礼品盒包装充满自然之气,不但愉悦了客户的心情。 廊坊市广通印务有限公司是廊坊印刷行业的专家,——执着追求精彩印刷品&#xf…

2015毕业找工作纪实|一年的蜕变毕业生

话说,2015年6月中旬毕业。6月底来到广州,时至昨日。一个月走过,面试了20的公司。谈谈我的感受,经历这:社会与学校的差异,而感慨,像我等类似的应届大学生,生存之艰辛、、、 自介绍下&…

我国北斗卫星导航系统在轨卫星已达39颗

资料图:北斗导航卫星发射。 图 郭文彬来源:新华网我国在轨卫星达39颗卫星导航应用的蓬勃发展,始终伴随航天技术的创新与突破。北斗卫星导航系统是全球四大卫星导航核心供应商之一,目前在轨卫星已达39颗。北斗系统据中国卫星导航系…

mysql统计同一字段重复的个数

例如有一个名称为orderID的列,orderID可能重复,比如 orderID1222334现在需要统计有哪些orderID重复2次以上 方法: select orderID,count(orderID) from tablename group by orderID having count(orderID)>1 这里为什么不用where而…

linux c语 curl代码_偷懒必备工具——一键生成爬虫代码

我们在构建网络请求的时候,不可避免地要添加请求头(headers),以mdn学习区为例(https://developer.mozilla.org/zh-CN/docs/learn),我们的请求头是这样的:一般来说,我们只…

xml转svg_C# Excel 转PDF/图片/HTML/TXT/XML/XPS/CSV/ODS/SVG/EMF

在日常工作中可能会遇到将某文件转换为其他格式的文件的情况,在本篇文章中将介绍如何在C#程序中将Excel文档转为PDF、IMAGE、HTML、TXT、XML、XPS、CSV、ODS、SVG、EMF、XLSM等格式的文件。工具使用:Free Spire.XLS http://for.NET(免费版&am…

TCP三次握手的序列号和确认号

第一次握手:客户端发送:序列号是随机数x; 第二次握手:服务端回:序列号随机数y,确认号x1; 第三次握手:客户端回:序列号x1,确认号y1

全球大数据发展分析报告

来源:人工智能产业链联盟 国智清创雄安机器人研究院《2018全球大数据发展分析报告》由天府大数据国际战略与技术研究院联合中国科学院虚拟经济与数据科学研究中心、中国科学院大数据挖掘与知识管理重点实验室、成都市大数据协会共同发布。报告对大数据发展历程&am…

三维叉乘怎么算_3分钟做完这些题,你的CAD才算熟练

3分钟做完这些题,你的CAD才算熟练“有没有CAD教程”,“如何学习CAD?”......这样的留言每隔一段时间都能看到。CAD说简单其实也挺简单的,但是深入应用起来确实很难。而因为当中涉及繁杂的功能命令,自然也就成为出教程的…

python列表动态添加_在Python中动态创建列表

我有一堆与不同组关联的项,我最终想为每个组创建一个列表,其中包含所有关联项。在问题是我不知道有多少组,所以如何动态生成正确数量的列表,以及如何调用它们?在我在循环item_list和group_list,这两个不同的…

C和指针 第四章 习题

4.1正数的n的平方根可以通过&#xff1a; ai1 (ai n / ai ) / 2 得到&#xff0c;第一个a1是1,结果会越来越精确。 #include <stdio.h>int main() {double input;double exp;scanf_s("%lf", &input);double aBefore 1;double aNow (aBefore input / a…

技术界与翻译界的交锋:机器翻译离我们还有多远? | 清华AI Time

来源&#xff1a;大数据文摘作为自然语言处理中一项非常重要的应用&#xff0c;现代意义上的机器翻译概念从上世纪40年代提出至今&#xff0c;经过了几代革新&#xff0c;现已初步实现了多场景的落地和应用。近几年随着机器翻译质量的提高&#xff0c;机器翻译代替人工翻译的声…

C++构建二叉树

首先定义树的节点&#xff1a; struct BinaryTreeNode {int m_nValue; BinaryTreeNode* m_pLeft; BinaryTreeNode* m_pRight; }; 定义构建节点和连接节点的方法&#xff1a; BinaryTreeNode* CreateBinaryTreeNode(int value) {BinaryT…

obs噪音抑制调多少合适_TVS瞬态抑制二极管的特性及应用

TVS瞬态抑制二极管的特性及应用瞬态电压抑制器&#xff08;Transient Voltage Suppressor&#xff09;简称TVS&#xff0c;是一种二极管形式的高效能保护器件。当TVS二极管的两极受到反向瞬态高能量冲击时&#xff0c;它能以10-12秒量级的速度&#xff0c;将其两极间的高阻抗变…

python bootstrap 视频_想用Django+ Bootstrap写一个网站, 有哪些比较系统完整的书或者视频可以参考?...

前几天刚是社群的小伙伴写了个博客&#xff0c;Django写博客是很多学习Python人必经之路&#xff0c;今天我特别整理了一个建博客实录出来希望可以是Django学习之路的一个好启发&#xff0c;希望对大家有帮助。——————————1.django简介Django是一个开放源代码的Web应用…