(q/kdb+) 从保存在磁盘中的表中删除列
(q/kdb+) Delete column from tables saved in disk
我有以下table保存在磁盘中
`:t/ upsert ([] v1:10 20 30; v2:1.1 2.2 3.3; v3:1 2 3)
例如,我如何删除列 v3
?
这一行应该可以实现您的目标:
`:/t/.d set `v1`v2
此外,您应该删除 v3 文件。
希望对您有所帮助!
以下应该有效
`:t/ set delete v3 from t
dbmaint.q 是另一种选择:https://github.com/KxSystems/kdb/blob/master/utils/dbmaint.q
这包括用于此目的的函数 delete1col。可以这样使用:
delete1col[tabledir;col]
在你的情况下,这将是:
delete1col[`:t/;`v3]
此脚本还包含许多您将来可能会觉得有用的其他功能。
我有以下table保存在磁盘中
`:t/ upsert ([] v1:10 20 30; v2:1.1 2.2 3.3; v3:1 2 3)
例如,我如何删除列 v3
?
这一行应该可以实现您的目标:
`:/t/.d set `v1`v2
此外,您应该删除 v3 文件。
希望对您有所帮助!
以下应该有效
`:t/ set delete v3 from t
dbmaint.q 是另一种选择:https://github.com/KxSystems/kdb/blob/master/utils/dbmaint.q
这包括用于此目的的函数 delete1col。可以这样使用:
delete1col[tabledir;col]
在你的情况下,这将是:
delete1col[`:t/;`v3]
此脚本还包含许多您将来可能会觉得有用的其他功能。