问题背景
想要通过Python调用xlwings实现对Excel文件内容进行查找并替换,找了一些资料,但程序执行时会卡死,原因是大小写问题,记录一下。
运行环境
Python 3.7.9
xlwings 0.28.5
根据参考资料,出现这个问题可能和版本有关。
解决过程
参考代码
# 整个工作表中查找并替换
sheet.used_range.api.Replace(查找的文本, 替换的新文本)
# 指定范围内查找并替换
sheet.range(指定范围).api.Replace(查找的文本, 替换的新文本)
注意:这里的Replace
要大写,参考资料中有人回答为replace
,实测不会报错,但是会导致程序卡死(大坑(T⌓T))。
指定范围格式
格式 | 含义 |
---|---|
“A1” | A1单元格 |
“A1:B2” | A1:B2区域 |
“A:A” | A列 |
“A:B” | A列到B列 |
“1:1” | 第一行 |
“1:2” | 第一、二行 |
(1,1) | A1单元格 |
(1,1),(2,2) | A1:B2区域 |
参考资料
使用 Xlwings python 高效查找和替换 ·问题 #1945 ·xlwings/xlwings
python - 如何在xlwings中使用Replace方法
Python Xlwings 如何调用VBA的Replace函数? - 知乎
EXCEL与PYTHON系列第二篇—xlwings(1)-IT Blog
xlwings库合并单元格,不报错,不执行 - 小幸运|| - 博客园