Импорт временных рядов через цикл (пот. Универсальный)
Решенный, сейчас рабочий пример!
У меня есть набор временных рядов, который заполняется в структуре папок следующим образом:
TimeSeriesData\Config_000000\seed_001\Aggregate_Quantity.txt
…
TimeSeriesData\Config_000058\seed_010\Aggregate_Quantity.txt
И в каждом файле есть первая строка, содержащая символ, а затем строки, содержащие данные. Например
share
-21.75
-20.75
…
Теперь я хотел бы импортировать все эти файлы (в лучшем случае, без указания ex post количества конфигов и семян, в худшем случае с его предоставлением) в один временной ряд, например: "AggQuant_config_seed", где config относится к идентификатору конфигурации и семя идентификатору семени.
Я попробовал следующее (используя не предпочтительный способ), но "синтаксический анализ" "пути" не работает / я не знаю, как это сделать.
string base = "TimeSeriesData/Config_"
string middle = "/seed_"
string endd = "/Aggregate_Quantity.txt"
string path = ""
loop for (i=0;i<=58;i+=1)
loop for (j=1;j<=10;j+=1)
path = ""
sprintf path "%s%06d%s%03d%s",base,i,middle,j,endd
append @path #will be named share
rename share Agg_Q_$i_$j #rename
endloop
endloop
Чтобы подвести итог проблемы, не работает следующее:
string path="somwhere/a_file.txt" #string holding path
#wrong: append $path #use append on string
append @path #works!
И, если возможно, был бы полезен способ рекурсивного поиска по набору папок с использованием информации о папке вместе с информацией о файле для имени переменной. Это возможно в течение gretl
?
Я понимаю, что во многих случаях я хотел бы сослаться на определенный раздел "справки", например, для функций и команд, но вместо этого для операторов (например, "$", что здесь явно неверно).