要使用仅SAS的解决方案来回答您的问题,您有两个问题:
- 使用
SCAN
而不是substr
获取未逗号/引号部分 acct_nbr
是数字,因此您需要从输入中删除最后的引号。
这是正确的代码(我更改了目录,您需要将其改回):
filename data 'c:tempjson.txt';data testdata2; infile data lrecl = 32000 truncover scanover; input @'"acct_nbr": ' acct_nbr $255. @'"streetAddress": "' streetAddress $255. @'"city": "' city $255. @'"state": "' state $2. @'"postalCode": "' postalCode $255.; acct_nbr=scan(acct_nbr,1,',"'); streetAddress = scan(streetAddress,1,',"'); city = scan(city,1,',"'); state = scan(state,1,',"'); postalCode = scan(postalCode,1,',"');run;proc print data=testdata2;RUN;



