不经意间工作了两个月了。
从新鲜到懵懂到浑身是坑,其中血泪不足为外人道也。
但是两个月过去了,也没有太多好的总结。
SAS技术:
-
正则表达式
正则表达式可以很方便地寻找到一定形式的字符串。
例如,把日期变成yyyymmdd。
data test;
input file_name& $50.;
datalines;
test_file_20171126.txt
test_file_20171125.sas
test_file_20171124_developer.txt
testfile_20171123_author.txt
testfile_20171122.txt
test_file_developer_20171121.txt
run;
data test2;
set test;
length position 8.;
position = prxmatch("/\d{8}/", file_name);
f_name = file_name;
substr(f_name, position, 8) = "yyyymmdd";
run;
result
-
python结合sas使用
python在和系统交互上要比sas方便,所以可以通过python来调用sas程序,这样既可以提高工作效率,也可以增加灵活性。
注意:windows路径可以使用斜杠分割文件夹x:/a/b/c.d,这样不会报错,此外也可以使用双反斜杠x:\a\b\c.d。因为默认情况下,反斜杠会被认为是转义字符,其后跟着的\才会被系统识别。
data test;
a = "test";
run;
proc export data=test
outfile="path/test.csv" dbms=csv replace;
run;
import os
os.system("path/test.sas")
with open("path/test.csv") as f:
cnt = 0
for line in f:
cnt += 1
print("line " + str(cnt) + ": " + line)
网友评论