gpt4 book ai didi

database - 将 csv 文件数据加载到表中

转载 作者:搜寻专家 更新时间:2023-10-30 21:49:12 25 4
gpt4 key购买 nike

创建的表格如下:

source:([id:`symbol$()] ric:();source:();Date:`datetime$())
property:([id:`symbol$()] Value:())

然后我有两个 .csv 文件,其中包含两个表数据。

property.csv 显示如下:

id,Value
TEST1,1
TEST2,2

source.csv 显示如下:

id,ric,source,Date
1,TRST,QO,2017-07-07 11:42:30.603
2,TRST2,QOT,2018-07-07 11:42:30.603

现在,如何将csv文件数据一次加载到每个表中

最佳答案

您可以使用 0: 加载分隔记录。 https://code.kx.com/wiki/Reference/ZeroColon

该函数最简单的形式是(types; delimiter) 0: filehandle

类型应以大写字母表示形式给出,每列一个或一个空格以忽略一列。例如,对 source.csv 使用“SJ”意味着我想在 id 列中读取一个符号,在 value 列中读取一个 long。

分隔符指定每列的分隔方式,在您的情况下为逗号分隔值 (CSV)。您可以将分隔符作为字符串 "," 传递,这会将每一行视为数据的一部分并返回一个嵌套的列列表,您可以将其插入到具有匹配模式的表中,或者您可以附加到标题上并手动翻转字典,然后翻转得到一个表格,如下所示:flip `id`value!("IS";",") 0: `:test.txt.

如果您将列标题作为 csv 中的第一行,您可以传递一个入伍分隔符 enlist ",",然后它将使用列标题并在 kdb 中返回一个以这些作为标题的表,然后您可以根据需要重命名。

由于您要读入的文件具有不同的列类型并且要放入其中,您可以创建一个函数来读入它们作为示例

{x insert (y;enlist ",") 0:z}'[(`source;`property);("SSSP";"SJ");(`:source.csv;`:property.csv)]

这将允许您指定应创建的表的名称、列类型和文件的文件句柄。

我建议使用时间戳而不是(贬值的)日期时间,因为它存储为 long 而不是 float,因此比较不会有问题。

关于database - 将 csv 文件数据加载到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51093720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com