我正在尝试使用python在SAS中工作(使用saspy)。我刚刚通过SSH连接到远程机器,一切正常。此外,我已经找到了我需要的表,一切似乎都很好。当我试图获取数据集的head()或描述它时,问题就出现了。代码和错误如下。我猜我在配置文件中包含的输出格式或选项有问题(我只提到了这个'options' : ["-fullstimer "] )。
sas = saspy.SASsession(cfgname='ssh')
dataset = sas.sasdata('tablename','libname')
dataset.head()内部代码执行失败:错误22-322:语法错误,应为以下值之一:;,ANTIALIAS,ANTIALIASMAX,BORDER,DISCRETEMAX,GROUPMAX,
发布于 2019-11-23 05:08:51
只是碰巧注意到了这一点。我必须记得在这里搜索才能找到东西。如果你可以在saspy:https://github.com/sassoftware/saspy/issues上打开一个问题,那么我可以更容易地帮助你弄清楚发生了什么。
首先,你能展示实际的代码和输出吗?Aslo使用该运行提交SASsession对象和SASdata对象:
>>> sas = saspy.SASsession(cfgname='ssh')
SAS Connection established. Subprocess id is 4777
No encoding value provided. Will try to determine the correct encoding.
Setting encoding to latin_1 based upon the SAS session encoding value of latin1.
>>> sas
Access Method = SSH
SAS Config name = ssh
SAS Config file = /opt/tom/github/saspy/saspy/sascfg_personal.py
WORK Path = /sastmp/SAS_workB62300004C67_tom64-4/
SAS Version = 9.04.01M3D06242015
SASPy Version = 3.1.8
Teach me SAS = False
Batch = False
Results = Pandas
SAS Session Encoding = latin1
Python Encoding value = latin_1
SAS process Pid value = 19559
>>> dataset = sas.sasdata('cars','sashelp')
>>> dataset
Libref = sashelp
Table = cars
Dsopts = {}
Results = Pandas
>>> dataset.head()
Make Model Type Origin DriveTrain MSRP Invoice EngineSize Cylinders Horsepower MPG_City MPG_Highway Weight Wheelbase Length
0 Acura MDX SUV Asia All 36945 33337 3.5 6 265 17 23 4451 106 189
1 Acura RSX Type S 2dr Sedan Asia Front 23820 21761 2.0 4 200 24 31 2778 101 172
2 Acura TSX 4dr Sedan Asia Front 26990 24647 2.4 4 200 22 29 3230 105 183
3 Acura TL 4dr Sedan Asia Front 33195 30299 3.2 6 270 20 28 3575 108 186
4 Acura 3.5 RL 4dr Sedan Asia Front 43755 39014 3.5 6 225 18 24 3880 115 197
>>>谢谢!汤姆
顺便说一句,我必须搜索我们的社区网站,以找到东西。将问题发布到saspy是获得帮助的最好方式,FWIW。
https://stackoverflow.com/questions/58318574
复制相似问题