kdb 有什么方法可以读取 csv 文件,就像 pandas 中的 read_csv() 函数一样简单。
我通常使用类似下面的代码来读取 kdb 中的 csv
("I*FS";enlist ",")0:`:a.csv / where a.csv is a csv file with Integer, String, Float and Symbol columns
Run Code Online (Sandbox Code Playgroud)
很多时候在实际情况下,我们要读取的csv文件有超过100列,那么很难提供列类型来运行。
kdb 有没有办法读取 csv,其中 kdb 可以自行理解列的类型?就像是
("*";enlist ",")0:`:a.csv / this fails
Run Code Online (Sandbox Code Playgroud)
Simon Garland 多年前写过一个“csv 猜测”脚本:https ://github.com/simongarland/csvguess
它可能仍然相关。我相信一些 IDE(例如 qStudio 和 Kx 的分析师(?))也内置了此功能。
或者,您可以读取 csv 的第一行来获取列数(例如n),然后n#"*"将整个 csv 作为字符串列读取:
q)(count["," vs first system"head -1 a.csv"]#"*";enlist ",")0:`:a.csv
col1 col2 col3
----------------------
,"a" ,"1" "2019-01-01"
,"b" ,"2" "2019-01-01"
,"c" ,"3" "2019-01-01"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1070 次 |
| 最近记录: |