Python学习随笔:使用xlwings读取和操作Excel文件

python读写excel利器:xlwings从入门到精通 xlwings 还提供了另外一种更加方便的方式来操作一个区域块,通过 expand 或 options 中的 expand 参数,expand 使用的是当前已获取的区域对象,而 options 中的 expand 参数在调用时才计算区域对象,推荐使用 options 中的 expand 参数,是你可以在更改区域后及时获取区域的变化。2、选择按那一列进行排序 Key1=sht.range(\‘c2\’).api, 这里选择的是按 第 C 列排序,所以这里选择 c1 和 c2 都可以。1、选择需要排序的区域。 阅读详情

一、背景
有2种模块可以对Execl文件,一种是xlwt 方式,需要安装三个库文件 xlrd(读Excel)xlwt(写Excel)xlutils(修改Excel),也是网上介绍文章最多的一种方法,一种是xlwings方式,只要安装一个库文件。第一种方式将读写修改分模块,支持Excel表格样式设计,第二种方式不支持表格样式设计,支持对Excel进行读写操作。由于老猿目前只要用Execl进行读操作,同时觉得装一个库文件简单,因此选择的是xlwings方式。

二、软件安装
才开始使用pip install xlwings安装,结果超时了,果断改成了使用国内的镜像来安装,很快完成,命令为:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xlwings

三、库文件相关文档
xlwings库官方地址:https://docs.xlwings.org/en/stable/

四、xlwings库主要操作方法
1、设置Excel操作模式
1)语法:App(visible=False, add_book=False)
2)语法释义:表示处理过程是否可视,也就是处理Excel的过程会不会显示出来,即是否出现Excel的界面,add_book表示是否打开新的Excel程序,也就是是不是打开一个新的excel窗口,如果为True,且visible为True,则立即打开一个空白的Excel。。

2、打开文件
1)方法1:app.books.open(文件名),其中的app为设置Excel操作模式中App方法返回的结果
2)方法2:Book(文件名)

这两种方法打开文件返回的结果类型是相同的,类型为xlwings.main.Book,二者的差别经验证测试,发现如果是在对应文件已经打开的情况下,使用app.books.open再去打开可以重复打开,但Book不会重复打开。且如果是一个程序内多次调用app.books.open打开同一个文件也不会重复打开。
测试代码:

>>> import xlwings as Excel
>>> from time import sleep
>>> def openexcel(visible=False, add_book=False)
    app = Excel.App(visible, add_book)
    print("app created!")
    f1=app.books.open(r"c:\temp\csdn积分数据.xls")
    print("f1 opened!")
    sleep(2)
    f2=app.books.open(r"c:\temp\csdn积分数据.xls")
    print("f2 opened!")
    sleep(2)
    f3 = Excel.Book(r"c:\temp\csdn积分数据 - 副本.xls")
    print("f3 opened!")
    sleep(2)
    f4 = Excel.Book(r"c:\temp\csdn积分数据 - 副本.xls")
    print("f4 opened!")

    
>>> openexcel(True,True)
app created!
f1 opened!
f2 opened!
f3 opened!
f4 opened!
>>> openexcel(True,True)
app created!
f1 opened!
f2 opened!
f3 opened!
f4 opened!

3.文件打开后的访问
假设文件打开后的返回结果为f,则打开文件后:
1)访问Excel的sheet
sheet = f.sheets[index]
或者
sheet = f.sheets[‘sheet名’]
注意:index是sheet页的序号,从0开始。

2)访问sheet的记录数
sheet.used_range.last_cell.row

3)访问sheet的列数
sheet.used_range.last_cell.column

4)获取i行j列的数据
value = sheet.range(i,j).value

5)获取i行j列开始到j+10列的数据
value = sheet.range((i,j),(i,j+10)).value

6)读取第i行整行
value = sheet.range(‘Ai’).expand(‘right’).value
或
value = sheet.range(i,1).expand(‘right’).value

6)读取第k列整列
value = sheet.range(‘k1’).expand(‘down’).value
或
alue = sheet.range(1,k).expand(‘down’).value

7)读取整个sheet的数据
data = sheet.range(‘A1’).expand().value

4、sheet内容写入:
直接对sheet数据赋值,将读取语句的方式改成赋值就可以了,如果写入位置原来有数据,将被写入数据覆盖。
1)i行j列写入
sheet.range(i,j).value = value

2)写入i行j列开始到j+10列的数据
sheet.range((i,j),(i,j+10)).value = values
其中values为一个有11个元素的列表。

3)第i行写入整行
sheet.range(i,1).expand(‘right’).value = values

4)第k列写入整列
sheet.range(1,k).options(transpose=True).value = values

5、文件保存
f.save(文件名)
如果没有文件名参数保存到打开的Excel文件中,如果给定文件名参数则保存到该指定文件名对应文件,该文件可以是已经打开的文件也可以是另一文件。

6、文件访问后关闭
f.close()

7、终结应用
app.quit()

五、Excel文件读取案例

>>> def readExcel(filename,sheetname):
    excelApp = excel.App(False,False)
    excelFile = excelApp.books.open(filename)
    sheet = excelFile.sheets[sheetname]
    rowCount = sheet.used_range.last_cell.row
    colCount = sheet.used_range.last_cell.column
    for line in range(1,rowCount+1):yield sheet.range(line,1).expand('right').value
    excelFile.close()
    excelApp.quit()
    excelApp.kill() #有时quit退出不成功可以使用kill
    
>>> for line in readExcel(r"c:\temp\csdn积分数据.xls",0):print(line)

博客地址:https://blog.youkuaiyun.com/LaoYuanPython

老猿Python博客文章目录:https://blog.youkuaiyun.com/LaoYuanPython/article/details/98245036

Python之Xlwings操作excel python操作Excel的模块,python中能操作Excel的库,网上提到的模块大致有:xlwings、xlrd、xlwt、openpyxl等,一共九个库所以我综合了一下就打算用xlwingsxlwings能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改可以和matplotlib以及pandas无缝连接可以调用Excel文件中VBA写好的程序,也可以让VBA调用用Python写的程序。开源免费,一直在更新。 阅读详情

相关推荐

使用xlwings插件在Excel中调用Python

xlwings官方文档: 英文版:https://docs.xlwings.org/en/stable/# 中文版:https://www.kancloud.cn/gnefnuy/xlwings-docs/1127450 安装xlwings 首先我们需要先在Python中安装xlwings: pip install xlwings 目前测试时,我安装的版本为0.27.6 安装后,由于xlwings修改了pywin32的版本导致jupyter出现故障,于是将pywin32降低到xlwings最低要求

小小明-代码实体的专栏 3万+

零基础学习xlwings,看这篇文章就够了

最近有位小伙伴留言说想让出一篇有关slwings的文章,这不文章来啦~~~ 本篇文章是围绕以下四点带大家学习xlwings。 1、xlwings是什么 2、xlwings安装更新与卸载 3、xlwings详细使用 4、案例分享 xlwings是什么 在日常生活中我们或多或少的都会跟Excel打交道,比如做销售统计,人力的考勤,学生的考试成绩等等,甚至在某些领域会涉及到批量操作Excel表格,那对于非程序员来说,可能使用Excel中的函数,但是在某种场景下这些又是不好使的,只能熬夜加班啦!.

IT教育任姐姐的博客 6万+

Python:使用 xlwings 处理Excel文档

pip install xlwings 或 pip3 install xlwingsxlwings 中的基础概念包括 apps、books、sheets 和 ranges,其关系如图所示其中,apps代表的是应用,相当于打开操作系统中的Excel软件(常见的有微软的Office、金山的WPS等)。一个APP可以操作多份Excel工作簿,books代表Excel工作簿,books就相当于一个个Excel文件;

Mr_不负此舟的博客 4847

python xlwings 安装_Python学习随笔:使用xlwings读取和操作Excel文件

一、背景有2种模块可以对Execl文件,一种是xlwt 方式,需要安装三个库文件 xlrd(读Excel)xlwt(写Excel)xlutils(修改Excel),也是网上介绍文章最多的一种方法,一种是xlwings方式,只要安装一个库文件。第一种方式将读写修改分模块,支持Excel表格样式设计,第二种方式不支持表格样式设计,支持对Excel进行读写操作。由于老猿目前只要用Execl进行读操作,同...

weixin_39703773的博客 913

如何使用xlwings对Excel表格数据进行读取操作----关于Python里xlwings库对Excel表格的操作(二)

向名为“worksheet”工作表中的以“A1”单元格分别向A1单元格写进“1”,B1单元格写进“2”,C1单元格写进“C”,即把列表中的内容从指定单元格开始向右把列表中一个元素对应写进一个单元格。#向名为“worksheet”工作表中的以“A1”单元格分别向A1单元格写进“1”,A2单元格写进“2”,A3单元格写进“C”,即把列表中的内容从指定单元格按列把列表中一个元素对应写进一个单元格。#向名为“worksheet”工作表中的“A1”单元格(只是一个单元格)写进字符串“ABC”

肥辉的学习笔记 1527

Python操作Excel教程(图文教程,超详细)Python xlwings模块详解,_xlwings操作excel

作者简介」:优快云 top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者「推荐专栏」:小白零基础。

2401_87368884的博客 1971

Python学习随笔:使用xlwings读取和操作Excel文件的数字需要注意的问题

老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在使用xlwings读取Excel文件中的数据时,所有的数字不论是整数、浮点数还是文本存放的数字,在读出来之后都会被变为浮点数。因此如果使用时希望还是按照整数处理,则需要进行特殊处理。例如如果希望小数部分实际为0都强制转换为整数。下面是一段参考代码: app = Excel.App(Fa...

老猿Python 5285

xlwings、openpyxl和pandas读取Excel文件速度比较

对于需要快速处理大型Excel文件的场景,pandas高效的读取速度和强大的数据处理功能是首选,openpyxl处理数据的速度与pandas稍逊色,但在Excel文件结构时表现出色。测试结果表明,在大型Excel文件的读取速度上,pandas表现最佳,openpyxl次之,而xlwings则相对较慢。经过三轮测试,我们得出了以下数据:在读取4万余条记录的情况下,xlwings平均耗时377.99秒,openpyxl平均耗时17.41秒,而pandas仅需10.19秒。# 读取原始表格数据。

hnmerry的博客 1898

Python让excel飞起来—xlwings

Python让excel飞起来—xlwings模块选择实验环境对象结构基本操作新建EXCEL打开EXCEL数据读取常用方法实例演示 说起excel,想必大家都不会陌生;作为“办公三件套”之一,excel在各行各业男女老少的生活、学习、工作中都发挥着重要的作用。今天我们就来讲讲如何使用Python对excel进行简单的操作。 模块选择 Python有许多可用于对excel进行操作的模块,如:xlwings、xlrd、xlwt、openpyxl、pyxll、xlutils 等。综合易用性、通用性、读写性能等方面

IT小酒馆 8356

python-读写Excel:xlwings库操作

几种操作Excel的python库对比

北冥有鱼的博客 2285

Python学习笔记:使用xlwings读写Excel文件

在Python中,有许多可以读写Excel文件的库,但是我们今天将关注一个名为xlwings的库。我们以读取一个Excel文件为例,xlwings提供了两种方式读取Excel:一种是使用pandas DataFrame,另一种是直接使用Excel中的单元格。在Python中使用xlwings库还可以向Excel文件中写入数据,这使得Python与Excel之间的交互更加便捷。与读取Excel文件类似,我们需要打开文件并创建一个指向工作表的对象,然后使用write()方法将数据写入工作表中。

持续更新 1475

Python学习随笔:使用xlwings读取和操作Execl文件

python xlwings

qq_34412985的博客 5732

使用xlwings操作Excel数字要注意的问题

因此,当我们从Excel中读取一个数字时,如果它的小数点后面有超过15位的数字,Python会自动将多余的数字舍掉。在计算机中,用二进制补码表示的浮点数是有精度限制的,因为浮点数的位数是固定的。由于这个原因,当我们读取Excel中的数字时,可能会导致数据精度的丢失。一种解决方法是使用字符串来读取Excel中的数字,然后再将它转换为浮点数。但是,在读取和操作Excel文件时,有些数字会出现精度丢失的问题。总之,当我们使用xlwings库读取和操作Excel文件中的数字时,需要注意数字的精度问题。

与其临渊羡鱼,不如退而结网 470

如何使用 Python 读取 Excel 文件:从零开始的超详细教程

今天讲什么?Excel 文件是我们日常数据处理和管理中常见的工具,尤其是在学校、工作和日常生活中都非常有用。无论是用来做数据统计、制作报表,还是进行分析,Excel 文件都非常方便。而 Python 是一门强大的编程语言,可以帮助我们快速读取和处理 Excel 文件中的数据。这篇文章会详细讲解,如何使用 Python 来读取 Excel 文件。在数学建模中,C题的数据处理部分更是离不开他。今天,我们就一起从零开始如何使用 Python 读取 Excel 文件。

2301_79175212的博客 6796

超声波清洗机拆解实录:从电路板到换能器,一文看懂内部构造(附高清图)

本文详细拆解了超声波清洗机的内部构造,从电路板设计到换能器工作原理,揭示了其核心技术。通过高清图片和详细分析,展示了功率放大电路、高频变压器及压电换能器等关键部件,为电子爱好者和维修技术人员提供了实用的故障诊断和元件二次利用指南。

grape的博客 1183

Microsoft Defender防病毒扫描添加排除项

Win10与Win11上的“**Microsoft Defender防病毒**”功能默认会自动扫描所有非压缩文件,如果发现病毒或疑似病毒甚至经过手动修改后某些安装文件,会自动将其删除,如果是后面两种情况,则可能会造成误报,对我们正常办公或学习造成不利影响。 此时, 我们可以将某个目录或文件设置为“**Microsoft Defender防病毒不会扫描已排除的项目**”(<red>但要注意:这些被排除的目录或文件会给笔记本造成一定的安全风险,如果真有病毒感染这些目录或文件它们也不会被“**Micr

weixin_42148668的博客 6481

python xlwings下载_Python学习随笔:使用xlwings读取和操作Execl文件

一、背景有2种模块可以对Execl文件,一种是xlwt 方式,需要安装三个库文件 xlrd(读Excel)xlwt(写Excel)xlutils(修改Excel),也是网上介绍文章最多的一种方法,一种是xlwings方式,只要安装一个库文件。第一种方式将读写修改分模块,支持Excel表格样式设计,第二种方式不支持表格样式设计,支持对Excel进行读写操作。由于老猿目前只要用Execl进行读操作,同...

weixin_29034963的博客 2449

常规波束形成——时域波束形成、频域波束形成

本文介绍了波束成形,包括时域波束成形和频域波束成形,并解释了在实现过程可能存在疑惑的相位补偿。

Candy_Editor的博客 3660

python处理wps数据用xlwings_Python学习随笔:使用xlwings读取和操作Execl文件

一、背景有2种模块可以对Execl文件,一种是xlwt 方式,需要安装三个库文件 xlrd(读Excel)xlwt(写Excel)xlutils(修改Excel),也是网上介绍文章最多的一种方法,一种是xlwings方式,只要安装一个库文件。第一种方式将读写修改分模块,支持Excel表格样式设计,第二种方式不支持表格样式设计,支持对Excel进行读写操作。由于老猿目前只要用Execl进行读操作,同...

weixin_34375356的博客 2659

腾讯滑块验证码collect参数逆向与JSVMP对抗实战

本文深入解析腾讯滑块验证码collect参数的逆向过程与JSVMP虚拟机对抗技术。通过详细的环境搭建、抓包分析和JSVMP逆向技巧,揭示collect参数的生成逻辑与加密流程,并提供完整的模拟实现方案和常见问题排查方法,助力开发者突破腾讯天御验证码的防护机制。

weixin_29009501的博客 1576

避坑指南:SpringBoot对接拉卡拉支付常见问题与解决方案(含SDK 1.0.6配置技巧)

本文是一份SpringBoot项目对接拉卡拉支付的实战避坑指南。针对SDK 1.0.6版本,详细剖析了从依赖管理、多环境配置、SDK初始化到支付请求构建、回调验签及生产监控的全流程常见问题,并提供了经过验证的解决方案与配置技巧,旨在帮助开发者高效、稳定地集成支付功能。

k5l6m的博客 330
上一篇: PyQt学习随笔:Model/View架构中的Delegate(委托、代理)
下一篇: PyQt学习随笔:Model/View架构中多个视图之间选择数据项同步
LaoYuanPython
LaoYuanPython 2020年博客之星Top3 2020年博客之星Top3 领域专家: Python技术领域 领域专家: Python技术领域
博客等级 码龄8年 15万+粉丝 1324原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值