KDB 将一个 table 的模式(元)复制到另一个 table 的
KDB copy one table's schema (meta) to another table's
我正在尝试将一个 table 的架构映射到另一个 table、
例如,我有 t1
和 t2
,它们具有准确的列名和顺序但数据类型不同,但我想要 (meta t2)~meta t1. //1b
.
我的想法是使用 meta
复制 t1
的数据类型字符串,假设它是 "SFFFFFJJJ"
。然后将t2
存入.csv,用"SFFFFFJJJ"
读取。这可行但不聪明,有人能想出更好的主意吗?
这个跟你说的原理是一样的,不需要保存 csv-formatted table:
{(upper (0!meta y)`t;enlist",")0:","0:x}[t1;t2]
这将 return table t1
但具有 t2
的架构。
此处,","0:x
是 Prepare Text which converts the table into a list of strings, with data delimited by commas. The (...;...)0:
is Load CSV,其中提供了类型 t2
的元数据 table。
您可以使用一个 table 的 meta 来施放另一个 table:
t2:flip(exec upper t from meta t1)$string flip t2
我正在尝试将一个 table 的架构映射到另一个 table、
例如,我有 t1
和 t2
,它们具有准确的列名和顺序但数据类型不同,但我想要 (meta t2)~meta t1. //1b
.
我的想法是使用 meta
复制 t1
的数据类型字符串,假设它是 "SFFFFFJJJ"
。然后将t2
存入.csv,用"SFFFFFJJJ"
读取。这可行但不聪明,有人能想出更好的主意吗?
这个跟你说的原理是一样的,不需要保存 csv-formatted table:
{(upper (0!meta y)`t;enlist",")0:","0:x}[t1;t2]
这将 return table t1
但具有 t2
的架构。
此处,","0:x
是 Prepare Text which converts the table into a list of strings, with data delimited by commas. The (...;...)0:
is Load CSV,其中提供了类型 t2
的元数据 table。
您可以使用一个 table 的 meta 来施放另一个 table:
t2:flip(exec upper t from meta t1)$string flip t2