Как я могу создать словарь в функции?

Вероятно, вы захотите запросить sashelp.vtable, в котором содержатся метаданные о вашем наборе данных. Предполагая, что ваши данные находятся в библиотеке WORK и называются TABLE, следующее создает список переменных, которые заканчиваются ASK.

proc sql;
select name into :varlist separated by " "
from sashelp.vcolumn
where libname="WORK" and memname="TABLE" and upcase(name) like '%_ASK';
quit;

*To rename the variables with MID generate a rename statement;
proc sql;
    select catx("=", name, tranwrd(upcase(name), "_ASK", "_MID"))
    into :rename_list separated by " "
    from sashelp.vcolumn
    where libname="WORK" and memname="TABLE" and upcase(name) like '%_ASK';
quit;

%put &rename_list;


data want_ask;
set work.table
 (keep = &varlist);
 rename &rename_list;
run;
0
задан Endyd 16 January 2019 в 13:37
поделиться

1 ответ

Просто создайте внутри себя диктовку и верните ее из функции:

def get_dic(file):
    phone = {}
    names = None
    for line in file.readlines():
        if line[0] == '#':
            names = line.strip()
            phone[names] = ""
        else:
            phone[names] += line.strip()
    return phone

argentina = get_dic(open(sys.argv[1],'r'))
0
ответ дан iBug 16 January 2019 в 13:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: