Мой скрипт работает в ArcMap без ошибок, но в таблице атрибутов ничего не заполняется - PullRequest
0 голосов
/ 16 мая 2019

У меня есть 2 таблицы атрибутов, которые я пытаюсь объединить: «Test_Table» и «AST_PASS4_Copy».Таблица «PASS4_Copy» содержит несколько строк с одинаковым AI_ID, но с различными описаниями местоположения (в текстовом формате).«Test_Table» содержит только 1 запись для AI_ID.

Я пытаюсь объединить описания местоположений из «AST_PASSS4_Copy» в таблицу «Test_Table», чтобы «Test_Table» выглядела следующим образом:

AI_ID_1 | описание 1, описание 2, описание 3 AI_ID_2 | описание 1, описание 2, описание 3 AI_ID_3 | описание 1, описание 2, описание 3

Я в основном пытаюсь использовать arcpy.da.SearchCursorи arcpy.da.UpdateCursor.Я использовал этот же сценарий для аналогичной проблемы с другим набором данных, и он работал.На этот раз я манипулировал только именами полей и имен файлов.Когда я вводю error.keys (), он становится пустым.

с arcpy.da.UpdateCursor ('Test_Table', ['MASTER_AI_', 'LOC_DESC']) как uc:

ct = 1

errors = {}

for row in uc:

    with arcpy.da.SearchCursor('AST_PASS4_Copy', ['LOCATION_D'], where_clause="MASTER_AI_ID='{}'".format(str(row[0]))) as sc:

        loc = []

        for loc in sc:

            loc.append(str(loc[0]))

    if len(loc) > 0:

        row[1] = '; '.join(set(loc))

    print("{}-{}".format(row[0],ct))

    ct += 1

    try:

        uc.updateRow(row)

    except Exception as e:

        errors[row[0]] = (row, e)

печать (ошибки)

Сообщения об ошибках не отображаются.Скрипт возвращает {} и возвращает [], когда я запускаю «errors.keys ()»

...