Как загрузить CSV в таблицу в Q? - PullRequest
0 голосов
/ 12 февраля 2019

Очень плохо знаком с Q, и у меня возникают некоторые проблемы с загрузкой моих данных в таблицу, следуя примерам документации.

Я выполняю следующий код:

table1: get `:pathname.csv

Пока онне выдает ошибку, когда я запускаю следующую команду, ничего не появляется:

select * from table1

или при выборе определенного столбца:

select col1 from table1

Если кто-то может направить меня в правеНаправление, это было бы здорово!

Редактировать: Кажется, это работает и сохраняет все мои столбцы:

table1: (9#"S";enlist csv) 0: `:data.CSV

1 Ответ

0 голосов
/ 12 февраля 2019

Вам нужно будет использовать 0: https://code.kx.com/q/ref/filenumbers/#load-csv

Точное использование будет зависеть от вашего CSV, так как вам нужно определить типы данных для загрузки каждого столбца как.

Например, здесь у меня есть CSV с длинным столбцом char & float:

(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 jonathon.mcmurray@aquaq.co.uk 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" для определения типов данных long, символ & float соответственно.

I enlist разделитель (","), указывающий, что первая строка CSV содержит заголовки для столбцов.(В противном случае они могут быть предоставлены в вашем коде и построенной таблице)

Обратите внимание, что в q-sql * не является обязательным, как в стандартном SQL;Вы можете просто сделать select from table1, чтобы запросить все столбцы

...