У меня есть функция, которая читает CSV, проверяет значения в строках, и если все в порядке, они записывают строки в новый CSV-файл. У меня есть несколько функций проверки, которые я вызываю в своей основной функции, чтобы проверить значение и формат строк.Исключение исключения из вызываемой функции
Я пытаюсь реализовать свою основную функцию таким образом, чтобы, когда я вызываю другие функции проверки и что-то не проверяет, я пропустил запись этой строки целиком.
#main function
for row in reader:
try:
row['amnt'] = divisible_by_5(row['amnt'])
row['issue_d'] = date_to_iso(row['issue_d'])
writer.writerow(row)
except:
continue
#Validation function
def divisible_by_5(value):
try:
float_value = float(value)
if float_value % 5 == 0 and float_value != 0:
return float_value
else:
raise ValueError
except ValueError:
return None
В настоящий момент автор все еще пишет строки, которые следует пропустить. Например, если число не делится на 5, а не пропускает эту строку, писатель просто пишет ''
.
Итак, как я могу обработать исключение (ValueError
), поднятое в divisible_by_5
в моем цикле for, чтобы я не писал строки, которые вызывают исключение?
Не могли бы вы рассказать о том, что именно вы ожидаете и что не работает? В чем вопрос? – karlson