kdb - 运行从 qpython 读取 csv 并分配给表
问题描述
我想在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
将符号转换为文件句柄。
您还应该检查文件是否与 q 进程在同一工作目录中,\dir
在 Windows 上的 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')
或者
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
推荐阅读
- plot - DolphinDB:同一图上的多条曲线
- kubernetes - 如何从主机操作系统连接来宾操作系统上的 kubernetes pod 服务器
- excel - 如何过滤Excel数据透视表中的一列
- java - java/trig/数学。3空间中立方体的相对轴,处理库(错误?)
- ios - 使用 CKSubscription 发送通知时,我可以使用 CKRecord 的字段内容作为本地化键吗?
- c# - 使用会话数据更新表中的现有行
- javascript - 如果我不保留 Object.defineProperty 描述符属性会怎样?
- spring - 诊断 Spring 应用程序并找出它启动如此缓慢的原因的工具
- javascript - 在 JavaScript 中使用 PDF-lib 展平 PDF 时出现问题
- javascript - 遍历firebase数据库键中的所有子项