将CSV导入KDB表

时间:2016-09-18 23:22:13

标签: database kdb q-lang

我有一个带有随机数据的csv文件,我可以将其导入到表中但是在导入csv时可以为该表创建列

我试过这个,但它似乎无法解决类型错误:

details:`time`place`cost`total`address ("TSFIS";",") 0:`data.csv

1 个答案:

答案 0 :(得分:4)

您不远处 - 您需要将从0:返回的列表列表转换为字典,然后flip将其创建为表格:

detailsTbl:flip`time`place`cost`total`address!("TSFIS";",") 0:`data.csv

示例:

/ start off by writing some data
q)hclose hopen[`:data.csv] "a,b,c,d\naa,bb,cc,dd\naaa,bbb,ccc,ddd"
q)read0`:data.csv
    "a,b,c,d"
    "aa,bb,cc,dd"
    "aaa,bbb,ccc,ddd"

/ lets inspect what we get back from 0:
q)show data:("SSSS";",")0:`:data.csv
    a aa aaa
    b bb bbb
    c cc ccc
    d dd ddd

/ convert to dict + flip to create table
q)flip `aCol`bCol`cCol`dCol!data
    aCol bCol cCol dCol
    -------------------
    a    b    c    d
    aa   bb   cc   dd
    aaa  bbb  ccc  ddd