Я пытаюсь заменить некоторые слова (по существу, 2-е слово в каждой строке) в текстовом файле, а затем записать их обратно в новый файл или перезаписать существующий файл.
Iмне показалось, что я делаю успехи, но когда я пошел писать в новый файл, я получил сообщение об ошибке, заявив, что не могу записать список в текстовый файл. Я не могу просто заменить слово другим словом, потому что у меня есть предложение else, которое охватывает любое слово, которое не соответствует другому, которое нужно заменить.
Вот пример текста, который я пытаюсь изменить, этот текст содержится в файле .txt:
id int,
organization_id int,
billing_month date,
fee_type varchar(100),
rate float,
price float,
uom varchar(25),
amount float,
currency_code_id float,
process_ts timestamptz NOT NULL DEFAULT (now())::timestamptz(6)
Я хочу изменить:
'int' --> 'BIGINT'
'numeric' --> 'DOUBLE'
'float' --> 'DOUBLE'
ELSE other data type --> 'STRING' .
В исходных данных обратите внимание, что у некоторых есть другие символы, такие как "varchar (100)" - я хотел бы заменить их на "STRING" и исключить часть (100).
А затем либо перезаписать, либо создать новый текстовый файл. Таким образом, приведенный выше пример вывода при правильной замене будет выглядеть так:
id BIGINT,
organization_id BIGINT,
billing_month STRING,
fee_type STRING,
rate DOUBLE,
price DOUBLE,
uom STRING,
amount DOUBLE,
currency_code_id DOUBLE,
process_ts STRING
У меня проблемы с пониманием, следует ли мне создавать списки, а затем изменять их, а затем записывать эти списки в текстовый файл или словариили какой-то другой метод, о котором я не думаю. Я очень начинающий, поэтому извиняюсь, если это не очень ясно.