python - 在 KDB 中将时间戳列转换为 Python 日期时间格式
问题描述
我有一个KDB 格式的tbl
列的表,看起来像. 我想将它转换成这样的 Python 日期时间格式,但我在使用该命令时遇到了问题。datetime
timestamp
2014.11.22D17:43:40.123456789
2014-11-22 17:43:40.123456789
update
我知道我可以这样做来转换时间戳:
q)`year`dd`mm`hh`uu`ss$2015.10.28D03:55:58 // this gives 2015 28 10 3 55 58i
而且我知道我可以通过将其作为字符串读取然后在这种情况下将其转换为整数datetime2
来创建一个新列:datetime
q)update datetime2:"I"$string datetime from tbl
但我很难同时投射和更新:
q)update datetime2:`year-`dd-`mm `hh:`uu:`ss$datetime from tbl
我得到的错误是:
evaluation error:
length
[0] update datetime2:`year-`dd-`mm `hh:`uu:`ss$datetime from tbl
^
谁能指出我正确的方向?谢谢你。
解决方案
Kdb 没有显示时间戳的替代方法,获得所需内容的唯一方法是将时间戳串起来并操作各个字符。就像是:
q)tbl:([]datetime:5#2014.11.22D17:43:40.123456789)
q)update{" "sv'(ssr[;".";"-"];::)@'/:"D"vs'string x}datetime from tbl
datetime
-------------------------------
"2014-11-22 17:43:40.123456789"
"2014-11-22 17:43:40.123456789"
"2014-11-22 17:43:40.123456789"
"2014-11-22 17:43:40.123456789"
"2014-11-22 17:43:40.123456789"
这纯粹是装饰性的,这些时间戳在时间序列意义上将无法使用,但也许它们适合您的目的。
你最终要解决什么问题?如果您尝试将数据传递给 python,则最好使用基础数值并将数值转换回 python 端的时间戳。
推荐阅读
- reactjs - 如何将数据馈送推送到仪表板以便能够在 react-admin 中创建图表?
- c# - 点击时更改 ListView 项目的 RowDefinition
- markdown - 降价命名链接的第一个等价物是什么?
- function - 我的功能将关闭或启动多个虚拟机
- python - 与“in”关键字连接会产生错误的结果
- html - 如何在 WordPress 中实现自定义标头的引导小部件代码?
- google-colaboratory - 如何在 Google Colab 中卸载驱动器并重新安装到另一个驱动器?
- css - 我如何解决悬停问题?
- jquery - Jquery .click 事件未触发
- r - 如何在 R 中编写函数,它给出与以下存储过程相同的输出?