【发布时间】:2021-12-01 00:43:07
【问题描述】:
我希望将字符串格式的数字转换为时间戳。
示例:
+--------+-------------------+
|date_str|expected date |
+--------+-------------------+
|1.63E+15|1991-11-25 13:39:00|
|1.63E+15|1991-11-25 13:40:00|
|1.63E+15|1991-11-25 13:41:00|
+--------+-------------------+
我尝试使用 to_timestamp() 但返回 Null 值。也转换为unix_timestamp,但没有运气。
sdf1.select(F.to_timestamp(sdf1.date_str, 'yyyy/MM/dd HH:mm:ss').alias('date')).show()
sdf1.select(to_timestamp('date_str', 'dd/MM/yyyy HH:mm:ss')).show()
【问题讨论】:
-
你的电话号码是多少?你确定它是一个字符串吗?导致“1.63E+15”与字符串中的“163000000000”不同...
-
它是字符串...我已经检查了架构
-
好吧,如果是字符串,那么每一行的时间戳怎么会不同呢?相同的输入=相同的输出。你的例子有问题
-
日期列是我在转换后所期望的
-
但是你知道同样的输入产生同样的输出吗?转换时没有魔法......我们无法恢复丢失的数字。
标签: python dataframe apache-spark pyspark