运行 从 qpython 读取 csv 并分配给 table
running read csv from qpython and assign to table
我要运行下面的q码python:
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 环境中 运行ning 代码的查询和函数。我想确保我没有遗漏可用于当前任务的其他一些功能。
当试图访问一个文件时,你必须使用其形式为 `:data.csv
的文件句柄(注意开头的冒号),而不是你正在使用的符号。您可以使用 hsym
将符号转换为文件句柄。
您还应该检查文件是否与 q 进程位于同一工作目录中,在 Windows 上的 q 进程中使用 \dir
,否则您将需要调整文件句柄以适应指向正确的位置
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')
或
In: q.sync('table: ("ISI"; enlist ",") 0:hsym `qpython.csv')
使用 qpython 检查结果变量:
In: q.sync('table')
Out: rec.array([(1, b'APPL', 50), (2, b'GOOG', 100)],
dtype=[('id', '<i4'), ('sym', 'S4'), ('val', '<i4')])
正在检查 q 进程
q)table
id sym val
-----------
1 APPL 50
2 GOOG 100
我要运行下面的q码python:
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 环境中 运行ning 代码的查询和函数。我想确保我没有遗漏可用于当前任务的其他一些功能。
当试图访问一个文件时,你必须使用其形式为 `:data.csv
的文件句柄(注意开头的冒号),而不是你正在使用的符号。您可以使用 hsym
将符号转换为文件句柄。
您还应该检查文件是否与 q 进程位于同一工作目录中,在 Windows 上的 q 进程中使用 \dir
,否则您将需要调整文件句柄以适应指向正确的位置
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')
或
In: q.sync('table: ("ISI"; enlist ",") 0:hsym `qpython.csv')
使用 qpython 检查结果变量:
In: q.sync('table')
Out: rec.array([(1, b'APPL', 50), (2, b'GOOG', 100)],
dtype=[('id', '<i4'), ('sym', 'S4'), ('val', '<i4')])
正在检查 q 进程
q)table
id sym val
-----------
1 APPL 50
2 GOOG 100