kdb+无法在导入后使用csv数据

7uhlpewt  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(172)

我试图加载csv数据来测试我写的一些kdb+ q函数。在将数据加载到表中并将一行翻转到字典中之后,我在引用的数据中发现了意外的逗号。
我创建了一个非常简单的csv文件,名为testdata.txt:

a,b,c,d,e,f,g
1,2,3,4,5,6,7
10,11,12,13,14,15,16

字符串
我这样加载CSV:

td: ("JJJJJJJ";1#",") 0: `:data/testdata.txt


结果如下:

a  b  c  d  e  f  g 
--------------------
1  2  3  4  5  6  7 
10 11 12 13 14 15 16


然后我提取一行并将其翻转到字典中:

tdic: flip 1#td


到目前为止一切顺利:

a| 1
b| 2
c| 3
d| 4
e| 5
f| 6
g| 7


然后我试着引用字典中的一个条目,我在值前面加了一个逗号。

q)tdic `a
,1

由于逗号,我的数据不能用于任何测试目的,至少如果我把它翻到字典上。我很确定我做错了什么,因为我没有看到任何地方记录这个问题。

irtuqstp

irtuqstp1#

如果你检查tdic中每个条目的类型,你会发现它们实际上是列表(正整数):

type each tdic
a| 7
b| 7
c| 7
d| 7
e| 7
f| 7
g| 7

字符串
你可以使用索引来获取原子而不是列表:

show tdic:td[0]
a| 1
b| 2
c| 3
d| 4
e| 5
f| 6
g| 7

type each tdic
a| -7
b| -7
c| -7
d| -7
e| -7
f| -7
g| -7


输出不再是列表:

q)tdic`a
1

相关问题