пример CSV-файла:
test.csv
process_cd
ramsize
dbsize
protocal
random
функция будет вызвана с указанными ниже параметрами
self.complete_stage_purge_process(self.targetCnxn, self.targetTable, self.processCode)
примеры кодов процессов:
test
protocal
forensic
каждый раз при вызове функции необходимо прочитать CSV-файл для этих кодов процесса и, если код процесса совпадает, обойти внутренний вызов удаления
def complete_stage_purge_process(self, target_cnxn, stage_table, process_cd):
delete_sql = "delete from " + schemaName.STAGE.value + "." + \
stage_table + " where run_pk in (" + run_pk_sql + ")"
try:
trgt_cursor = target_cnxn.cursor()
trgt_cursor.execute(delete_sql)
target_cnxn.commit()
self.logger.debug("deletes processed successfully ")
target_cnxn.close()
except:
self.logger.exception('Error in processing deletes')
raise
else:
self.logger.debug('purge process is not required for this process')
как добиться циклического чтения csv
Пробовал использовать приведенный ниже фрагмент кода, но код все равно будет очищать процесс и не запускать его поиск кода в цикле
non_purge_process_file = open(self.file_path)
reader = csv.reader(non_purge_process_file)
for row in reader:
if process_cd in row:
self.logger.debug("Do not perform stage purge process.")
return
else:
delete_dt = datetime.today() - timedelta(days=30)
delete_dt = str(delete_dt)
Подробнее здесь: https://stackoverflow.com/questions/750 ... e-then-byp
Прочитайте файл csv и проверьте, находится ли входной параметр в файле csv, затем пропустите процесс очистки, в противно ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение