如何解决将SAS表转换为Python数据框时,如何在SASPy中指定LIBREF
请参阅下图了解我的SAS服务器布局。我想拉顶表2020_01_SETTLEMENTS
并将其放入Python数据框中。我已经成功建立了Python与SAS服务器之间的连接。我在下面有以下代码,但我相信我要出问题的地方是LIBREF
函数的sasdata2dataframe
部分。我也列出了以下错误消息。非常感谢任何可以告诉我我哪里出问题的人。我还在这里将参考资料链接到此功能:
https://sassoftware.github.io/saspy/api.html
代码:
import saspy
import pandas as pd
from IPython.display import HTML
sas = saspy.SASsession(cfgfile=r'C:\Users\P1\Python_Code\sascfg_personal.py')
sasdata2dataframe(table: str = '2020_01_SETTLEMENTS',libref: str = 'BANKMKR',dsopts: dict = None,method: str = 'MEMORY')
错误消息:
File "<ipython-input-18-41bb6a0902ac>",line 1
sasdata2dataframe(table: '2020_01_SETTLEMENTS',method: str = 'MEMORY')
^
SyntaxError: invalid syntax
解决方法
尽管在手册中未指定,但我最终还是使用了以下代码,并且可以正常工作。我刚刚将table: str = '2020_01_SETTLEMENTS'
更改为table='2020_01_SETTLEMENTS'
tempTable = sas.sasdata2dataframe(table='2020_01_SETTLEMENTS',libref='BANKMKR')
,
我今天才看到这个,我想我可以从这首曲目中了解到一些东西。而且,我正在尝试提供帮助,而不是一个混蛋,所以请以这种方式阅读(我以?方式写)。这里的问题仅仅是对语言的熟悉。在这种情况下是python。 API doc是根据代码本身自动生成的部分;方法定义和文档字符串。因此,显示的方法是定义(签名),而不是如何调用它们的示例。这可能有帮助,也可能没有帮助,但这是功能(方法)定义的文档:https://docs.python.org/3.5/reference/compound_stmts.html#function-definitions
例如,在C语言中,您可以将函数定义为
int max(int num1,int num2){…},
但这不是从源代码中调用它的示例;这是一个函数定义,它告诉您所有有关调用它所需的知识。如果您尝试将定义编码为对其进行调用,则会从编译器中收到语法错误,与python在函数调用中尝试使用a而不是=产生的语法错误相同。
value = int max(int 3,int 5);
是语法错误。调用该函数的正确方法是
value = max(3,5);
任何语言都一样。函数定义告诉您有关函数的信息;这不是从您的代码中调用它的示例。 从python函数定义中可以收集到很多信息;是否需要什么参数,位置,关键字或两者都需要。是否有默认值,以及它们是否为默认值。参数是否具有特定的数据类型。所有这些信息都在定义中。但是要通过代码进行调用,您可以使用该信息以正确的语言语法对其进行编码。希望这是有道理的。同样,只是尝试提供帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。