如何从kdb本地二进制扁平表中读取指定列数据
仅读取KDB二进制文件中的指定列
场景说明
你通过set函数将包含a、b列的表保存到了:d:/t,想要只读取b列而不是全表,可通过以下方式实现:
方法1:读取后直接提取列(简单高效,适合小表)
直接用get读取全表后,通过列名提取目标列,或者用select语句筛选:
// 方式1-1:直接提取单列数据 b_col: `b get`:d:/t // 方式1-2:返回带列名的表结构(符合你预期的输出格式) result: select b from get`:d:/t
执行后result的输出为:
b ---- "ab" "bc" "cd"
方法2:函数式查询(适合复杂筛选场景)
如果需要更灵活的条件筛选,可使用KDB的函数式查询语法:
result: ?[get`:d:/t; (); 0b; `b]
补充修正
你提供的保存代码存在一处小错误,需将data改为定义好的表变量t:
t:([]a:til 3;b:("ab";"bc";"cd")) `:d:/t set t // 正确的保存语句
内容的提问来源于stack exchange,提问作者sevenmiracle
相关产品推荐
相关产品推荐

