将具有尾随 space 符号的 csv 文件导入 KDB table
Import csv file having symbol with trailing space to KDB table
以下是我从KDBtable导出的一个csv文件的内容。 rootTicker
列的值 Z
中有尾随 space。
time,rootTicker,session,yellowKey
2020-08-04D03:46:16.501844000,Z ,,Index
当我尝试将此文件导入回 KDB 时,结尾的 space 被剪掉了。
q)TestTable:("psss";enlist csv)0:`TestTable.csv
q)string select from TestTable
time rootTicker session yellowKey
------------------------------------------------------------
"2020.08.04D03:46:16.501844000" ,"Z" "" "Index"
如果我将 table 导出为二进制格式,当我将它导入回来时它可以保留尾随 space。无论如何导入csv文件并且没有space被修剪?
谢谢。
作为 Char 载入将保留 space,但是如果需要将其作为字符串载入,则此 space 将会丢失。
q)string `$"abc "
"abc"
而我们有
q)`char$"abc "
"abc "
正如JD所说,将其作为字符串而不是符号读入:
("p*ss";enlist csv)0:
Kdb 在转换为符号时总是 trim 空白
q)string`$"Z "
,"Z"
避免它的唯一方法是操纵字节码,但你不想去那里:
q)string -9!0x010000000c000000f55a2000
"Z "
以下是我从KDBtable导出的一个csv文件的内容。 rootTicker
列的值 Z
中有尾随 space。
time,rootTicker,session,yellowKey
2020-08-04D03:46:16.501844000,Z ,,Index
当我尝试将此文件导入回 KDB 时,结尾的 space 被剪掉了。
q)TestTable:("psss";enlist csv)0:`TestTable.csv
q)string select from TestTable
time rootTicker session yellowKey
------------------------------------------------------------
"2020.08.04D03:46:16.501844000" ,"Z" "" "Index"
如果我将 table 导出为二进制格式,当我将它导入回来时它可以保留尾随 space。无论如何导入csv文件并且没有space被修剪?
谢谢。
作为 Char 载入将保留 space,但是如果需要将其作为字符串载入,则此 space 将会丢失。
q)string `$"abc "
"abc"
而我们有
q)`char$"abc "
"abc "
正如JD所说,将其作为字符串而不是符号读入:
("p*ss";enlist csv)0:
Kdb 在转换为符号时总是 trim 空白
q)string`$"Z "
,"Z"
避免它的唯一方法是操纵字节码,但你不想去那里:
q)string -9!0x010000000c000000f55a2000
"Z "