首页 > 解决方案 > 如何在 Python 中使用 SAS SWAT 模块更改 CASTable 的 dtype

问题描述

我正在使用 SWAT 模块在 Python 中访问 SAS 数据。一个键列包含 dtype 中的类别:“char”。

我有另一个导入为 CASTable 的数据框,如下所示:

conn = swat.CAS(host, port, username, password)    
meta = conn.read_csv("file.csv")

元数据框有一个类似的列,但它被导入为 dtype:“varchar”。

当我尝试合并两个数据框时,我收到一个错误,因为两个关键列具有不同的 dtype(char 和 varchar),但我不知道如何在 CASTable 中更改 dtype?

我试图通过添加来更改“读取”时间的 dtypedtype = {"ColumnName": "str"}dtype = {"ColumnName": "char"}. 这次回归TypeError: data type 'char' not understood

如何使用 Python 中的 SWAT 模块更改 CASTable 的 dtype(两列都包含完全相同的字符串)?还是有另一种方法可以合并不需要我匹配 dtype 的两个数据集。

标签: python-3.xsas

解决方案


一种可能的解决方案是尝试不同的加载过程,例如 upload_file,如此所述。这可能会让你成为另一种类型。

否则,我要做的第一件事是尝试 d​​type=char(#)varchar(#)其中 # 是长度。我不认为char它本身就是一种类型,你必须有长度,否则 SAS 不知道要存储多少字节。有关更多信息,请参阅CAS 文档


推荐阅读