Как указывает ответ @ eli-k, вам не нужно зацикливаться или делать что-либо в Python, чтобы применить одну и ту же схему перекодировки к нескольким переменным.Синтаксис Vanilla SPSS справляется с этим довольно хорошо.Однако наличие более 2000 пар строк в коде может быть проблематичным.(Иногда у меня возникают проблемы с отладкой синтаксиса RECODE только с 20 парами.)
Решением этого является использование AUTORECODE вместе с опцией APPLY TEMPLATE :
AUTORECODE var1 var2 var3
/INTO nvar1 nvar2 nvar3
/APPLY TEMPLATE = 'my_template.sat'
Файлы .sat, используемые SPSS в качестве шаблонов, являются просто особым случаем файлов .sav с другим расширением.У них есть ровно две переменные: строка с именем «Source_» и числовая переменная с именем «Target_» (обратите внимание на заглавные и конечные подчеркивания).Пока вы используете эти имена переменных, вы можете создать свой собственный шаблон, импортировав сопоставления строк и кодов из Excel в SPSS, а затем сохранив их в виде файла .sat.
Один ключевой момент, на который следует обратить внимание при использованииAUTORECODE: любые строки, найденные в данных, которых нет в столбце Source_, будут автоматически назначены новые коды.