如何将CSV加载到Q上表?

问题描述 投票:0回答:1

很新的Q和我有一些问题,我的加载数据到表后的文档上的例子。

我运行下面的代码:

table1: get `:pathname.csv

虽然它不抛出一个错误,当我运行下面的命令没有出现:

select * from table1

或选择特定的列时:

select col1 from table1

如果任何人都可以指导我在正确的方向,这将是伟大的!

编辑:这似乎是工作和留住我的所有列:

table1: (9#"S";enlist csv) 0: `:data.CSV
database kdb
1个回答
6
投票

你会需要使用0: https://code.kx.com/q/ref/filenumbers/#load-csv

具体用法将取决于您的CSV,因为你需要定义的数据类型加载每个列。

作为一个例子,在这里我有一个CSV用长,焦炭及浮动列:

(kdb) chronos@localhost ~/Downloads $ more example.csv 
abc,def,ghi
1,a,3.4
2,b,7.5
3,c,88
(kdb) chronos@localhost ~/Downloads $ q
KDB+ 3.6 2018.10.23 Copyright (C) 1993-2018 Kx Systems
l64/ 4()core 3894MB chronos localhost 127.0.0.1 EXPIRE 2019.06.15 [email protected] KOD #5000078

q)("JCF";enlist",")0:`:example.csv
abc def ghi
-----------
1   a   3.4
2   b   7.5
3   c   88 
q)meta ("JCF";enlist",")0:`:example.csv
c  | t f a
---| -----
abc| j    
def| c    
ghi| f    
q)

我用的是字符"JCF"来定义数据类型长,性质及分别浮动。

enlist分隔符(","),表明CSV的第一行包含列标题。 (否则,可以将这些代码中的供给及表构建)

在一个侧面说明,注意在Q-SQL中,*没有必要在标准SQL;你可以简单地做select from table1查询所有列

© www.soinside.com 2019 - 2024. All rights reserved.