Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kdb 运行从qpython读取csv并分配给表_Kdb - Fatal编程技术网

Kdb 运行从qpython读取csv并分配给表

Kdb 运行从qpython读取csv并分配给表,kdb,Kdb,我想在python中运行以下q代码: table: ("ISI"; enlist ",") 0:`data.csv 我从探索qpython开始,因为它现在更容易在Windows中使用(与pyq相比),我想做以下工作: q = qconnection.QConnection(host = 'localhost', port = 5000) q.sync('table: ("ISI"; enlist ",") 0:`data.csv') 如果pyq在Windows上稳定运行,我将来是否需要使用它

我想在python中运行以下q代码:

table: ("ISI"; enlist ",") 0:`data.csv
我从探索qpython开始,因为它现在更容易在Windows中使用(与pyq相比),我想做以下工作:

q = qconnection.QConnection(host = 'localhost', port = 5000)
q.sync('table: ("ISI"; enlist ",") 0:`data.csv')

如果pyq在Windows上稳定运行,我将来是否需要使用它?我所看到的q.sync示例是接受参数列表的查询和函数,而不是在q环境中直接运行代码。我想确保我没有丢失一些可用于当前任务的其他功能。

当尝试访问文件时,您必须使用其文件句柄,其格式为
`:data.csv
(请注意开头的冒号),而不是您正在使用的符号。您可以使用
hsym
将符号转换为文件句柄

您还应该在Windows上的q进程中使用
\dir
检查文件是否与q进程位于同一工作目录中,否则您需要调整文件句柄以指向正确的位置

q)hsym `data.csv
`:data.csv
文件data.csv包含以下内容:

id,sym,val
1,APPL,50
2,GOOG,100
运行与您相同的命令,但使用文件句柄:

In:   q.sync('table: ("ISI"; enlist ",") 0: `:data.csv')

使用qpython检查结果变量:

In:   q.sync('table')
Out:  rec.array([(1, b'APPL',  50), (2, b'GOOG', 100)],
      dtype=[('id', '<i4'), ('sym', 'S4'), ('val', '<i4')])
In:   q.sync('table')
Out:  rec.array([(1, b'APPL',  50), (2, b'GOOG', 100)],
      dtype=[('id', '<i4'), ('sym', 'S4'), ('val', '<i4')])
q)table
id sym  val
-----------
1  APPL 50
2  GOOG 100