You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用SASPy将库中表名转为字符串列表?sasdata()方法失效

解决SASPy获取指定SAS库表名列表的问题

如果sasdata()的list_tables()方法无法正常使用,可以试试以下两种替代方案:

方案一:直接调用SASsession的list_tables方法

这是SASPy提供的简化接口,直接通过已建立的SAS会话对象获取表名,返回结果就是字符串列表:

sas = saspy.SASsession()
# 替换library_name为你的目标SAS库名
tables = sas.list_tables(library=library_name)

# 遍历打印验证
for table in tables:
    print(table)

方案二:通过SAS字典表查询(兼容性更强)

如果方案一仍有问题,可直接提交SAS代码查询系统字典表dictionary.tables,再读取结果转换为列表:

sas = saspy.SASsession()
library_name = "你的库名"  # 替换为实际库名

# 提交SAS代码查询指定库的表名
sas.submit(f"""
proc sql;
    select memname into :table_list separated by ' '
    from dictionary.tables
    where libname = upcase('{library_name}');
quit;
""")

# 读取SAS宏变量中的表名,分割为字符串列表
tables = sas.symget('table_list').split()

# 输出结果
for table in tables:
    print(table)

内容的提问来源于stack exchange,提问作者Burak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 11:04:51