Excel替换查找和Rep中的1个字符

2024-06-26 02:17:07 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以在Excel中找到一个字符串,然后替换所有找到的字符和前一个字符?在

我要求的原因是尝试用“可变文本外观修复”替换“可变文本外观修复”,而不实际键入非ASCII“ç”。我尝试过SUBSTITUTE(text,old_text,new_text)函数,它不允许我在old_text字段中使用通配符来获取ç,还尝试了Find and Replace函数,它允许我在搜索中使用通配符,但随后会替换整个字符串,而不仅仅是“Facade”。在

我希望避免使用ç,因为这是在python模块中编写的,每当我将该模块导入其他地方时都会引起问题。(我已经尝试过在python脚本中声明编码,#coding=utf-8,并且考虑在Excel进入python之前用Excel解决这个问题)。在

谢谢你的意见!在

答:多亏了sellikesybok,我能够将列的所有值替换为不带ç的temp列,然后将值从那里复制/粘贴回原始列。在

# -- substitutes non ascii c --
# populates Z column with ascii chars
for i in range(lastRow):
    excel.Cells(i+1, 26).Value = '=SUBSTITUTE(D'+str(i+1)+', CHAR(231), "c")'
# copies z 
excel.Range('Z1:Z'+str(lastRow)).Select()
excel.Selection.Copy()
# pastes values to d
excel.Range('D1:D'+str(lastRow)).Select()
excel.Selection.PasteSpecial(Paste=-4163)   # -4163 = Paste Values
# clears z
excel.Range('Z1:Z'+str(lastRow)).Select()
excel.Selection.Clear()
# resets view to top
excel.Range('A2').Select()
excel.Selection.Clear()

Tags: 函数字符串text文本range字符excelselect
1条回答
网友
1楼 · 发布于 2024-06-26 02:17:07

对于Excel解决方案,您需要查找CHAR()函数:

如果要更改的字符串是A1中的,则可以使用以下方法:

=SUBSTITUTE(A1,CHAR(231),"c")

我可能更了解Python,而不是用Python编写的类似字符。在

相关问题 更多 >