当前位置: 首页 > news >正文

xlwings通过数字索引(i,j)读取单元格数据的方法

今天,补充一种(其实算两种)关于xlwings通过数字索引读取单元格数据的方法。

最初开始使用xlwings读取单元格数据的时候,用的是range('A1').value的方法访问单元格数据,是range与A1(字母+数字)的组合。

现在遇到了需要循环读取与写入功能的问题,于是尝试查询range或者xlwings是否有像Win32com一样使用(i,j)循环读取与写入的方法,查了很久发现很多资料给出的都是xlwings+.api来调用win32com的东西,总觉得不是很好,尤其是觉得.api调用后,速度会慢。

今天,找到正确的方法啦,方法如下:

方法1

sheet1.range((i,j)).value

也可写成这样

cell_index = (i,j)

sheet1.range(cell_index).value

这是《Excel+Python飞速搞定数据分析与处理》中提及的方法,用的还是range,只是在range()括号中再加上索引的元组(i,j)即可。

方法2

与方法1很像

sheet1.range(i,j).value

直接在range()的括号内使用单元格的数字索引 i,j

去问了AI,其的回答是说,xlwings给range留了很大的灵活性,让用户可以通过多种不同的方式来访问单元格数据,好吧,还真是灵活!

找到这两个方法还是挺高兴的,因为之前用的是range,现在还是range,而且是xlwings原装的方法,不错,其实用cell应该也可以,但一直没有细研究。

整理后的代码如下:

with xw.App(visible=False,add_book=False) as app_e:app_e.display_alerts = Falseapp_e.screen_updating = False# 打开Excelwork_book = app_e.books.open(file_path)# 获取sheet页sheet_name = "循环读取测试"sheet1 = work_book.sheets[sheet_name]# 读取C3的数据,索引为(3,3)cell_index = (3,3)data_ij = sheet1.range(cell_index).valueprint(f'data_ij:\t{data_ij})# 注:手敲代码,谨慎复制。

总结一下:

sheet1.range((i,j)).value

sheet1.range(i,j).value

好,结束。


http://www.mrgr.cn/news/65983.html

相关文章:

  • 如何封装一个axios,封装axios有哪些好处
  • 性能小钢炮,核显玩3A,最值得买的 8745HS 迷你主机『零刻SER8』,2099的价格是真的香
  • 通讯学徒学习日记
  • 蒙特卡洛方法(MC Exploring Starts算法例子)
  • metasploit/modules/auxiliary 有哪些模块,以及具体使用案例
  • 富格林:拆穿欺诈套路平稳出金
  • 【comfyui教程】ComfyUI 完全入门:ControlNet 使用教程
  • 第二届全国高校软件测试开发教育峰会在韩山师范学院隆重举办!
  • 微服务架构面试内容整理-Ribbon
  • 正式挑战谷歌,OpenAI 全面发布 ChatGPT Search 搜索引擎,将人人免费使用
  • 内衣洗衣机哪个牌子好用?5款高评分内衣洗衣机年终测评
  • 【汇编语言】[BX]和loop指令(二)——在Debug中跟踪用loop指令实现的循环程序
  • svdsvewv
  • react项目详细搭建教程
  • 深度学习入门(Python )讲义免费下载
  • 无编码器的异步电动机高性能调速系统
  • Spring Boot——日志介绍和配置
  • 线程的等待与通知
  • 分类算法——支持向量机 详解
  • Linux 实例:VNC 登录输入正确密码后无响应
  • 第七部分:1. STM32之ADC实验--单通道实验
  • opengl和opencl共享时CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR
  • 面对不同的数据源,要解决什么问题
  • AMD显卡低负载看视频掉驱动(chrome edge浏览器) 高负载玩游戏却稳定 解决方法——关闭MPO
  • 2024年华为OD机试真题-查找接口成功率最优时间段-Java-OD统一考试(E卷)
  • 容器迭代器