В настоящее время я ломаю голову над задачей, которая кажется мне слишком сложной для начинающего в python. Я был бы очень признателен, если бы вы могли помочь мне в этом. Я пытаюсь заменить запятую на точку. Я хочу, чтобы это было сделано только для определенного элемента в скрипте SQL (значение, выделенное жирным шрифтом):
Insert into SEC_DATA (HEADER_ID,TIMESTMP,BOMLABEL,TI_TO_EX,HOLD_TI,STRIKE,STRIKE_FORM,SDVALUE,VALUE1,VALUE2) values ('Swaption-Volatilitдten','02/03/2016 00:00:00','DD/MM/YYYY HH24:MI:SS'),'BID','5400','10800','0','D','**0,595**','0','0');
Оооо, я решил использовать регулярные выражения и сделал следующее:
x = "Insert into SEC_DATA (HEADER_ID,TIMESTMP,BOMLABEL,TI_TO_EX,HOLD_TI,STRIKE,STRIKE_FORM,SDVALUE,VALUE1,VALUE2)
values ('Swaption-Volatilitдten','02/03/2016 00:00:00','DD/MM/YYYY HH24:MI:SS'),'BID','5400','10800','0','D','0,595','0','0');"
var = re.sub(r"(\d),(\d)", r"$1.$2", x)
Я ожидаю, что $ 1 и $ 2 оставят группу без изменений, потому что я хочу только превратить запятую в точку. Числа вокруг запятой служат только для того, чтобы убедиться, что это правильная запятая.
Однако, что бы я ни делал, это всегда приводит к изменению окружающих чисел:
...('Swaption-Volatilitдten',to_date('02/03/2016 00:00:00','DD/MM/YYYY HH24:MI:SS'),'BID','5400','10800','0','D','**$1.$2**95','0','0');
Как я могу это исправить?
Заранее спасибо.
неш