尝试将 csv 中的 influxdb 时间戳转换为日期和时间列
Trying to convert influxdb timestamp in a csv to date and time columns
我正在将 InfluxDB 数据库迁移到 mySQL。我已经设法将涌入数据导出到 CSV 文件,这很棒,但现在我被提供给我的日期和时间字段卡住了。
我不知道它是什么格式,在做了一些研究后它告诉我它是纪元时间,但是使用 python 尝试将时间戳转换为 ISO 格式,它不是' t 被识别为有效的时间戳。知道如何转换它。理想情况下分隔日期和时间列。我得到的数据是这样的:
time,absoluteHumidity
1578152602608558363,5.788981747966442
1578152608059500073,4.769760557208695
1578152613662193439,5.788981747966442
我用来尝试转换它的 python 是这样的:
from datetime import datetime, timezone
print (datetime.fromtimestamp(1578152602608558363, timezone.utc))
如有任何帮助或建议,我们将不胜感激!
根据 influxdb docs 他们以纳秒精度存储时间戳值。
但是 datetime.fromtimestamp
方法需要一个浮点数,它的整数部分是秒级精度。
所以通常你的方法是正确的,你只需要将流入时间戳除以 1e9
它应该就可以了:
from datetime import datetime, timezone
print(datetime.fromtimestamp(1578152602608558363 / 1e9, timezone.utc))
我正在将 InfluxDB 数据库迁移到 mySQL。我已经设法将涌入数据导出到 CSV 文件,这很棒,但现在我被提供给我的日期和时间字段卡住了。
我不知道它是什么格式,在做了一些研究后它告诉我它是纪元时间,但是使用 python 尝试将时间戳转换为 ISO 格式,它不是' t 被识别为有效的时间戳。知道如何转换它。理想情况下分隔日期和时间列。我得到的数据是这样的:
time,absoluteHumidity
1578152602608558363,5.788981747966442
1578152608059500073,4.769760557208695
1578152613662193439,5.788981747966442
我用来尝试转换它的 python 是这样的:
from datetime import datetime, timezone
print (datetime.fromtimestamp(1578152602608558363, timezone.utc))
如有任何帮助或建议,我们将不胜感激!
根据 influxdb docs 他们以纳秒精度存储时间戳值。
但是 datetime.fromtimestamp
方法需要一个浮点数,它的整数部分是秒级精度。
所以通常你的方法是正确的,你只需要将流入时间戳除以 1e9
它应该就可以了:
from datetime import datetime, timezone
print(datetime.fromtimestamp(1578152602608558363 / 1e9, timezone.utc))