我输入的存储像1000,50,即。小数点用逗号代替。 K中有一个选项可以将这些数字直接加载到浮点数中吗? 使用时
data:("SFF" ;";",";") 0:. filename
当然,我得到0ns,因为数字不被识别为浮点数。
我现在将它们作为字符串加载,并使用ssr转换它们
c:.:' .q.ssr'[data;",";"."]
但那非常慢。
是否有一个选项让K将这些数字加载到CCC,CC格式直接浮动?普通格式和ccc,cc格式不混合,任何文件只有其中一种。 如果没有,我想可以很容易地替换一个"。"在负载函数所在的Q-binary中的某处,使用",#34;来获取加载这些数字的版本。有人试过吗?或者在合理的时间内使用这些数字加载大文件的任何其他提示?
干杯, 共
答案 0 :(得分:2)
如果ssr'
对您的任务来说很慢,您可能会发现这个小功能很有用:
c2p:{c:-1_sums count each x;p:ss[r:raze x;","];r[p]:".";(0,c) _ r}
更新:替代版本:
c2p:{p:ss[r:raze x;","];r[p]:".";(0,-1_sums count'[x])_r}
它将所有字符串连接成一个长字符串,找到逗号的位置,用句点替换逗号然后拆分那个长字符串:
q)N:1000000
q)s:string[N?100000],'",",'string N?1000
q)\t r1:ssr'[s;",";"."]
4284
q)\t r2:c2p s
242
q)r1~r2
1b