KDB-在CSV中自动替换行标题

时间:2018-07-28 01:02:47

标签: kdb

我每天有几个; class: undefined; ; cannot reference undefined identifier 文件,这些文件是从加载到KDB服务器的程序中导出的。我的问题是行标题是固定的,对于我要用作表中行标签的内容而言并不理想。现在,基本上,每次保存时,我基本上都需要替换.csv的第一行。

自动执行此操作的最佳方法是什么?基本上现在,我要打开.csv并将另一个csv的一行粘贴到行标题上。因为我有四个不同的csv文件,需要每天更换标签,所以这很麻烦。以下是在INIT中导入其中一个csv文件的命令。我猜想有一种方法可以使用.csv来做到这一点,但是不确定语法是否正确。谢谢。

xcol

2 个答案:

答案 0 :(得分:2)

另一种方法,有时是更有效的方法是,将整个文件(包括标头)作为数据本身读取,但是将第一行删除。

当您使用零冒号读入一个csv文件时,可以告诉它使用enlist","来期望标头,或者不使用","来期望它。当您不希望有标题时,可以将列列表传递到结果字典中,然后翻转结果以将其转换为表。之后,您放下第一行,就像您遇到的情况一样,这是不必要的标题。

q)// don't want to use `aaa`bbb as columns
q)1_flip `col1`col2!("JJ";",")0:("aaa,bbb";"123,345")
col1 col2
---------
123  345

答案 1 :(得分:0)

猜猜我跳了枪。与xcol一起玩了一点,似乎可以做到。只是做了一个简单的

invoicedata: ("SSPPIFFFSSSSIIIFFFFISFSFS"; enlist ",") 0:`InvoiceData.csv;
invoicedata: `a`b`c`d xcol invoicedata

似乎可行。