2014-12-11 1 views
0

Возможно ли в Excel найти строку, а затем заменить все найденные символы и непосредственно предшествующие?Excel заменить символ -1 в Find и Replace

Причина, по которой я прошу, состоит в том, чтобы попытаться заменить «Редактирование факультативного текста» на «Редактирование факультативного текста» без фактического ввода не-ASCII 'ç'. Я пробовал функцию SUBSTITUTE (text, old_text, new_text), которая не позволит мне использовать подстановочный знак в поле old_text, чтобы захватить функцию ç, а также функцию Find and Replace, которая позволяет мне использовать подстановочный знак в поиске, но затем заменяет целую строку вместо «Фасад».

Я бы хотел избежать использования ç, потому что это записывается в модуль python и вызывает проблемы, когда я отправляюсь импортировать этот модуль в другое место. (Я уже попробовал объявить кодировку в скрипте python, # coding = utf-8, и думал о попытке решить проблему в Excel, прежде чем он даже попадет на python).

Спасибо за любой ввод!

ANSWER: Благодаря selllikesybok я смог заменить все значения столбца на столбцы 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() 
+0

Какая у вас версия python? –

+0

Я использую Python 2.7 и win32com для команд Excel – jcusick

ответ

0

Для решения Excel, вы ищете CHAR() функции:

Если строка вы хотите изменить в A1, это будет делать трюк:

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

Я знаю, что Excel лучше, чем Python, но вы, вероятно, могли бы сделать что-то подобное в своем коде на языке python (обратитесь к кодовому контенту, а не к символу, чтобы избежать наличия фактического символа, отличного от ascii, записанного в файле .py).

+0

Большое спасибо! – jcusick