(q / kdb +)将字符串列拆分为浮点列

时间:2019-03-22 18:15:05

标签: kdb

拆分字符串列b的最佳方法是什么

t:([]a:3,4,5;b:("45 | 37 <> 5 | 6";"67 | 981 <> 50 | 7";"1 | 71 <> 15 | 8"))

a   b
3   "45 | 37 <> 5 | 6"
4   "67 | 981 <> 50 | 7"
5   "1 | 71 <> 15 | 8"

得到这个

a   b                     c     d    e   f
3   "45 | 37 <> 5 | 6"    45    37   5   6
4   "67 | 981 <> 50 | 7"  67    981  50  7
5   "1 | 71 <> 15 | 8"    1     71   15  8

我正在尝试类似

update c:"F"${2#x}each b,d:"F"${4_7#x}each b from t

它可以部分工作,但这似乎不是正确的方法。

1 个答案:

答案 0 :(得分:2)

您可以尝试这样的事情:

q)t,'flip exec `c`d`e`f!("H H H H";" ")0:b from t
a b                    c  d   e  f
----------------------------------
3 "45 | 37 <> 5 | 6"   45 37  5  6
4 "67 | 981 <> 50 | 7" 67 981 50 7
5 "1 | 71 <> 15 | 8"   1  71  15 8

假定数字始终以空格分隔,并且它们之间始终有不需要的符号。