【发布时间】:2014-12-11 14:10:28
【问题描述】:
是否可以在 Excel 中找到一个字符串,然后替换所有找到的字符和紧接在前面的字符?
我要问的原因是尝试将“可变文本外观修复”替换为“可变文本外观修复”,而无需实际输入非 ASCII 'ç'。我已经尝试了 SUBSTITUTE(text, old_text, new_text) 函数,它不允许我在 old_text 字段中使用通配符来获取 ç 以及查找和替换函数,它允许我在搜索中使用通配符,然后替换整个字符串,而不仅仅是 'Facade'。
我想避免使用 ç 因为这是在 python 模块中编写的,并且每当我去其他地方导入该模块时都会导致问题。 (我也已经尝试在 python 脚本中声明编码,#coding=utf-8,并且正在考虑尝试在 Excel 中解决这个问题,甚至在它到达 python 之前)。
感谢您的任何意见!
回答:感谢 selllikesybok,我能够将列的所有值替换为没有 ç 的临时列,然后将值从那里复制/粘贴回原始列。
# -- 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()
【问题讨论】:
-
你的python版本是什么?
-
我将 Python 2.7 和 win32com 用于 Excel 命令
标签: python regex excel python-2.7