Я пишу ETL-скрипт на Python, который получает данные в файлах CSV, проверяет и дезинфицирует данные, а также классифицирует или классифицирует каждую строку в соответствии с некоторыми правилами и, наконец, загружает в базу данных postgresql.
Данные выглядят следующим образом (упрощенно):
ColA, ColB, Timestamp, Timestamp, Journaltext, AmountA, AmountB
Каждая строка представляет собой финансовую транзакцию. Что я хочу сделать, так это категоризировать или классифицировать транзакции на основе некоторых правил. Правила в основном представляют собой регулярные выражения, которые соответствуют тексту в столбце Journaltext.
Итак, я хочу сделать что-то вроде этого:
transactions = [] for row in rows: t = Transaction(category=classify(row.journaltext)) transactions.append(t)
Я не уверен, как эффективно написать функцию classify().
Вот как работают правила классификации:
Хорошо. Итак, как представить эти категории и соответствующие правила в Python?
Буду очень признателен за ваш вклад. Даже если вы не можете предоставить полное решение. Просто все, что намекнет мне в правильном направлении, будет здорово. Спасибо.