Petl конвертировать данные из повторяющихся записей - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь использовать библиотеку petl для построения процесса ETL, который копировал данные между двумя таблицами.Таблица содержит уникальное поле slug в месте назначения.Для этого я написал свой сценарий, чтобы он идентифицировал дубликаты слагов и преобразовал их, добавив ID к значению слагов.

    table = etl.fromdb(source_con, 'SELECT * FROM user')
    # get whatever remains as duplicates
    duplicates = etl.duplicates(table, 'slug')
    for dup in [i for i in duplicates.values('id')]:
        table = etl.convert(
            table,
            'slug',
            lambda v, row: '{}-{}'.format(slugify_unicode(v), str(row.id).encode('hex')),
            where=lambda row: row.id == dup,
            pass_row=True
        )

Выше не сработало, как ожидалось, похоже, что table объект остается с повторяющимися значениями после цикла.

Кто-нибудь может посоветовать?Спасибо

...