kdb+导入CSV后字典取值出现前置逗号,无法正常使用数据
kdb+ 字典引用出现前置逗号的解决方法
问题原因
你用1#td提取的是单行表,对单行表执行flip后得到的字典,每个值都是单元素列表。kdb+中单元素列表会以,x的形式显示,所以引用字典元素时会出现前置逗号。虽然字典显示时看起来是单个值,但底层存储的是列表类型。
解决方法
方法1:直接提取单行元组转字典
不用1#td生成单行表,而是用first td直接获取单行的元组(由标量组成),再转换为字典:
tdic: first td
验证结果:
q)tdic `a 1
方法2:转换现有字典的列表值为标量
如果已经生成了带列表值的字典,可以用first each提取每个列表的唯一元素,将其转为标量:
tdic: first each flip 1#td
补充说明
kdb+的表每行本质是元组,1#td是把元组包装成了单行表,flip后字典的每个value对应表的一列(单元素列表);而first td直接拿到元组,转字典时每个值都是标量,这才是符合测试需求的格式。
内容的提问来源于stack exchange,提问作者Joe Murray
相关产品推荐
相关产品推荐

