Выполнение операций над всеми файлами в папке

В комплексных проектах часто возникает необходимость выполнить какое-то преобразование над каждым из множества файлов с данными, которые обычно размещают в одной папке. Например, данные необходимо отсортировать и объединить, экcпортировать в другом формате или же вычислить новую переменную. При помощи Пайтона можно организовать перебор находящихся в определенном месте файлов данных, выполняя затем на каждом поочередно открываемом файле необходимые операции. Вот пример синтаксиса IBM SPSS Statistics, в котором данные экспортируются в формате статистического пакета STATA:

BEGIN PROGRAM PYTHON.
import os, spss
path = "C:/Users/Dell/Desktop/Project"
s1 = "GET FILE = '%s'."
s2 = "SAVE TRANSLATE OUTFILE='%s' /TYPE=STATA /VERSION=12."
for file in os.listdir(path):
  if file.endswith(".sav"):
    fname = os.path.splitext(file)[0]
    spss.Submit(s1 % os.path.join(path, file))
    spss.Submit(s2 % os.path.join(path, fname + ".dta"))
    print os.path.join(path, fname + ".dta")
END PROGRAM.

Преобразование многих переменных

Иногда бывает нужно выполнить какое-то одинаковое преобразование на большом количестве переменных. Например, при использовании семантического дифференциала вводить с клавиатуры удобнее целые положительные числа, а представлять результаты анализа — в шкале от -3 до +3. Быстро задать преобразование шкалы для большого количества переменных можно при помощи конструкции DO REPEAT. Например:

 do repeat v = v1 to v100.
compute v = v - 4.
end repeat.
execute.