首页 > 解决方案 > 使用案例 0:在 q 中以 q 编码更改文件中的分隔符

问题描述

我得到了一个文件路径和一个旧参数来更改为新参数,我第一次尝试使用案例 0,也许是 sv would work. I have saved the file as:tbl.csv 并且想调用一个函数将其从“,”更改为“ |”。虽然 tbl.csv 存在,但使用时出现错误:

"|" 0:`:tbl

但我可以使用

"|" 0:tbl

为什么不能使用完整的文件路径名?有没有更好的方法来更改文件中的分隔符?

标签: kdb

解决方案


0:可以根据您的输入执行几种不同的操作。

"|" 0: tbl将获取您的 q 表,tbl并输出一个字符串列表,其中包含tbl由“|”分隔的行的文本表示。

获得此输出后,您可以0:使用文件句柄作为左参数来覆盖您的 csv:

`:tbl.csv 0: "|" 0: tbl

如果您在内存中盯着看,那就太好了tbl,但是如果您从 csv 开始并且不想先将其作为 aq 表读取,那么您可以在 using 中读取它,read0用管道替换所有逗号 using ssr,然后覆盖csv使用0:

`:tbl.csv 0: ssr[;",";"|"] each read0 `:tbl.csv

推荐阅读