如何在 C++ 中保存镶木地板文件中的时间戳并将其加载到 Python Pandas 中?

How to save timestamps in parquet files in C++ and load it in Python Pandas?

我在 C++ 中使用 Apache Arrow 将时间序列集合保存为拼花文件,并使用 python 将拼花文件加载为 Pandas Dataframe.该过程适用于除 Date64Type 之外的所有类型。我在 C++ 中保存纪元时间,当在 pandas 中加载它时,时间信息丢失了。

例如,对于 boost posix 时间:2018-04-01T20:11:17.112Z,纪元时间(在 int64_t 中)是 1522613477112000,但是当我保存到 parquet 文件时(Date64Type) 并加载 pandas 结果是 2018-04-01 并且时间信息丢失了。在 parquet 文件中保存时间戳的正确方法是什么?

您需要改用 arrow::TimestampTypeDate32TypeDate64Type只支持日解析;它们的内部表示有点不同(自 UNIX 纪元以来 int32_t 天与自 UNIX 纪元以来 int64_t 毫秒)