Необходимо нормализовать данные из разных источников с возможностью масштабирования - PullRequest
0 голосов
/ 27 апреля 2020

Я использую Python, но это не имеет значения - мой вопрос об алгоритме. Я получаю данные от разных поставщиков. Скажем, все это в CSV, но каждый поставщик называет столбцы по-своему. «Дата», «По состоянию на дату» и т. Д. c необходимо переименовать в «as_of_date». Предположение, что шаблон для каждого поставщика является последовательным, нет никаких предположений, кто что отправляет. Итак, я знаю, что поставщик А отправляет CSV со столбцами «Дата», «Идентификатор безопасности», «Прибыль / Убыток», в то время как поставщик Б отправляет «По состоянию на дату», «Идентификатор», «PL» и некоторые другие ненужные столбцы. Все это должно быть "as_of_date", "security_id", "убыток-прибыль"

Так что у меня есть разные источники. Возможно, что один поставщик отправляет все в одном файле, в то время как у другого есть отдельный файл для «пополнения / снятия» и «транзакции». Для некоторых столбцов может потребоваться очистка - мне нужно отобразить функцию «очистки» для столбца: например, удалить разделители запятых и преобразовать строку в число с плавающей точкой. Если у какого-либо поставщика нет столбца «прибыль / убыток», я должен иметь возможность выполнять простые расчеты на основе заданных данных и сам добавлять столбец (только для этого конкретного поставщика).

Мне нужна возможность на борту нового поставщика, добавив его имя и настройки (переименование, очистка данных) позже.

Может кто-нибудь указать мне правильное направление? Люди дают мне смутное «go и читают« Банду четырех »», но трудно, когда я не знаю, где именно искать. Google трудно, так как «нормализация» - это такое распространенное слово, что я go пролистал несколько страниц в Google и не нашел ничего связанного. Может быть, некоторые примеры из Github или книги или статьи или, по крайней мере, как это называется и что я должен гуглить? Все, что может мне помочь. Спасибо.

...