从目录

时间:2017-11-07 15:08:06

标签: select load subdirectory kdb q-lang

我有桌子叫;引号,交易和sym在我的q目录中名为splay的目录中保存为splayed表。我无法弄清楚如何使用code.kx.com网站上标识的方法加载这些表。当我检查文件属性时,它说文件类型是File,所以我不知道在文件名后打开什么类型的文件。一旦我设法加载这些文件,我需要选择包含符号IBM的所有记录(在表的列sym中)。到目前为止我已尝试过:

q)\cd splay
q)\l quotes
'quotes. OS reports: The system cannot find the file specified.
  [0]  (.Q.l)
q)\l trades
'trades. OS reports: The system cannot find the file specified.
  [0]  (.Q.l)

 .Q )\l trades.q
'trades.q. OS reports: The system cannot find the file specified.
  [2]  (<load>)

  ))\l trades.dat
'trades.dat. OS reports: The system cannot find the file specified.
  [4]  (.Q.l)

无济于事。同样的方法,但对于目录本身。

q)\l splay

我试图只是在目录中运行文件而不加载,但这也没有成功。

q)\cd splay
q)\cd
"C:\\Users\\Lewis\\splay"
q)t:get`:trades
'trades. OS reports: The system cannot find the file specified.
  [0]  t:get`:trades
         ^
q)q:get `:quotes
'quotes. OS reports: The system cannot find the file specified.
  [0]  q:get `:quotes
         ^
q)load`quotes
'quotes. OS reports: The system cannot find the file specified.
  [0]  load`quotes
       ^

code.kx.com网站说这样做的方法之一,也是我的第一个方法之一:

C:\Users\Lewis\q>q/q.exe splay
KDB+ 3.5 2017.10.11 Copyright (C) 1993-2017 Kx Systems
w32/ 4()core . . .  

Welcome to kdb+ 32bit edition
For support please see http://groups.google.com/d/forum/personal-kdbplus
Tutorials can be found at http://code.kx.com/q
To exit, type \\
To remove this startup msg, edit q.q
'/q.exe. OS reports: The system cannot find the file specified.
  [0]  (.Q.l)

 .Q )

我必须加载这些文件或目录的最后方法是:

q)))load `splay
'splay. OS reports: Access is denied.
  [6]  load `splay
       ^
q))))\cd splay
q))))load `splay
'splay. OS reports: Access is denied.
  [9]  load `splay
       ^

拜托,帮助我!

1 个答案:

答案 0 :(得分:1)

如果您在目录/Users/Lewis中,则应该能够将splay作为命令行参数传递,如下所示:q splay。您使用的q应用程序q\q.exe的路径可能存在问题,导致错误标记。

或者,您应该可以在活动的q会话中打开它,例如:\l splay,前提是您在/Users/Lewis目录中,或者如果您在目录{\l ./Users/Lewis/splay 1}},其中.是当前目录的快捷方式。

此外,您声明自己拥有表格tradequotesym。这完全取决于您将数据保存到磁盘的方式,但sym文件不应该像其他两个表一样,在加载数据时应该看到这些表。

错误OS reports: Access is denied.可能是由于q进程没有适当的权限来访问该文件。如果您使用管理员权限启动该过程,您应该能够解决此错误。