Итак, у меня есть файл SQL со следующим содержимым:
createtab_stmt
CREATE EXTERNAL TABLE `table1`(
" `name_id` bigint, "
" `address_id` string, "
" `full_name` bigint, "
`insert_timestamp` timestamp)
ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
** Я пытаюсь удалить весь текст, который идет после) от третьего до последнего предложения («отметка времени)»). Таким образом, вывод должен быть все до строки формата serde:
createtab_stmt
CREATE EXTERNAL TABLE `table1`(
" `name_id` bigint, "
" `address_id` string, "
" `full_name` bigint, "
`insert_timestamp` timestamp)
Это мой существующий код:
import re
f = open("/home/dir2/ddl", 'rt', encoding='latin-1')
words=f.readlines()
with open("/home/dir1/sampl7.sql","w") as output:
for i in words:
output.write(i.replace('"', ''))
Есть идеи или предложения? Я не уверен, является ли регулярное выражение лучшим вариантом или есть лучший способ. Спасибо.