2015年3月7日土曜日

[kdb] テーブル保存・読み出し set/get/save/load

テーブル保存・読み出し関連

・save
テーブルを保存する。そのままならbinaryで拡張子をつけると各形式で保存される。
引数はsymbol型で指定する。
q) save `table         / currentディレクトリに保存(`:table set table と同じ)
`:table
q) save `:/tmp/table   / fullpath指定
`:/tmp/t
q) save `$"/tmp/table"
`:/tmp/t
q) save `table.csv     / csv形式で保存
`:table.csv
・load
binaryで保存したテーブルを読み出す。
qファイルやディレクトリは\lを使用する。
q) load `table   / 読み出し (table: get `:table と同じ) 
`:table

q) \l /tmp/q.q   / qファイルの読み込みはsystem command

q) \l /tmp/dir   / ディレクトリの読み出しはsystem command
q) {load ` sv `:dir,x} each key `:dir   / ↑と同じ
...
・set
X set Y
YのデータをXのファイル名で保存する。saveよりも汎用的。
Xに/で終わるディレクトリを指定するとsplayed tableで保存できる。ただし、primary key以外はenumeratedされていないといけない。
q) `filename set table   / tableをfilenameで保存。tableはsymbolはNG
`filename
q) `:savename/ set table   / tableをsavenameでsplayedで保存
`:savename/
q) `:dir/tr/ set .Q.en[`:dir] tr   / enumeratedに変換しつつsplayedで保存
`:dir/tr/
・get
ファイルからデータを読み出す
q) table:get`:filename   

q) table:get`:dirname/   / splayed tableを取得

0 件のコメント:

コメントを投稿