Функция deduper.blocker () - не может распаковать не повторяемый объект int - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь использовать библиотеку Python dedupe.io, однако для своих нужд мне нужно подключиться к базе данных MS-SQL.

Поэтому я решил сначала получить работающий пример csv (что я и сделал)тогда я решил попробовать преобразовать пример pgSQL в версию MS-SQL.В настоящее время я нахожусь примерно на полпути в процессе преобразования скрипта, когда сталкиваюсь с проблемой.

По сути, я застрял, когда скрипт пытается записать карту блокировки в файл csv.Это строка / вызов, который, по-видимому, завершается с ошибкой:

b_data = deduper.blocker(full_data)

Согласно документации он должен:

Возвращает кортежи (предикат, record_id)

Однако я получаю следующую ошибку:

File "C:\PythonV\dedupeio\dedupe\lib\site-packages\dedupe\blocking.py", line 42, in __call__
    record_id, instance = record
TypeError: cannot unpack non-iterable int object

Поэтому я подумал, что, возможно, я делаю что-то не так, поэтому я следовал той же логике и пытался применить вызов функции кВерсия CSV, которая, кажется, работает (поскольку она запускает и выводит дубликаты), но я получаю ту же ошибку.Так что теперь я думаю, что что-то упускаю или это ошибка.В любом случае, я хотел бы знать, как я мог бы обойти это?

...