csv - 如何在 kdb 中加载以 " 作为分隔符的 CSV 文件?
问题描述
如何加载带有"
分隔符的 CSV 文件?见第 2 行。dd
被加载symbolCol
,而不是stringCol
$cat kdb.log
longCol"floatCol"symbolCol"stringCol
1"4"b"bb
2"5""dd
我正在加载使用
tab:("JFSS";enlist "\"") 0: `$"/home/..../kdb.log"
并dd
在 symbolCol 中加载,而不是 stringCol
q)tab
longCol floatCol symbolCol stringCol
------------------------------------
1 4 b bb
2 5 dd
q)tab[`symbolCol]
`b`dd
解决方案
这实际上看起来可能是解析器中的一个错误 - 值得与 Kx 团队一起提出。用作"
分隔符非常罕见,因此他们可能没有考虑到它。
我能找到的唯一解决方法是"
用更好的分隔符替换。理想情况下,您应该在 kdb 之外更改分隔符,但如果您必须在 kdb 中进行,您可以这样做:
q)("JFSS";enlist",") 0: ssr[;"\"";","]each read0`$":/home/..../kdb.log"
longCol floatCol symbolCol stringCol
------------------------------------
1 4 b bb
2 5 dd
q)
使用永远不会出现在文件中的分隔符。
推荐阅读
- java - Easymock 不保留方法的注释
- python - 验证 spark 数据框中的列名和数据类型
- python - num_epochs 在 eval_input_config TF2 对象检测 API v2 中是什么意思
- react-syntax-highlighter - 道具 lineNumberStyle 不会改变颜色
- reactjs - 使用 Redux Toolkit 调度多个异步操作
- javascript - Why Python django deployment in Heroku not executing ajax?
- postfix-mta - Postfix/Dovecot:无法接收外部电子邮件
- windows - 访问隐藏的 ini 文件部分(文件名上的冒号)
- r - R:ggplot 使用 facet_wrap 和 coord_flip 重新排序 x 轴
- c# - 点击新项目时折叠 Xamarin ListView 中的所有项目