Есть два распространенных способа go решения этой проблемы. Чтобы выбрать между ними, вам нужно изучить, на что вы готовы потратить вычислительную мощность, и будет ли дополнительная передача по сети проблемой. У нас недостаточно информации, чтобы сделать это за вас.
Вариант 1: Загрузить во временную таблицу
Этот вариант в основном соответствует тому, что вы описали. Имейте временную таблицу или таблицу, предназначенную для нагрузки, которая соответствует схеме вашей целевой таблицы. Очевидно, это должно исключить уникальные ограничения.
Загрузите весь пакет в эту таблицу, и как только все это будет вставлено из этой таблицы в целевую таблицу. Вы можете очень легко использовать стандартные операторы SQL для выполнения любых необходимых вам манипуляций, таких как distinct
, будь то первая запись или что-то еще.
Вариант 2: Загружать только уникальные значения, фильтрация с помощью pandas
Pandas имеет функцию drop_duplicates()
, которая ограничивает ваш фрейм данных уникальными записями, и вы можете указать такие вещи, как столбцы для проверки и какую строку оставить.
df = df.drop_duplicates(subset = ["Age"])