首页 > 解决方案 > KDB - 在 csv 中自动替换行标题

问题描述

我每天都有一些.csv文件从我加载到我的 KDB 服务器的程序中导出。我遇到的问题是行标题是固定的,不适合我想用作表格中的行标签。.csv我现在基本上每次保存时都 需要替换第一行。

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

invoicedata: ("SSPPIFFFSSSSIIIFFFFISFSFS"; enlist ",") 0:`InvoiceData.csv;

标签: kdb

解决方案


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

当您读取带有零冒号的 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

推荐阅读