我们在自己的云上有一个python程序,我们希望从MySQL数据库中获取数据,并使用它进行分析。到目前为止,我们希望从datetime中选择时间。你知道吗
示例:'02/11-2019 18:20:00'-->;选择'18:20:00'
我们正在尝试使用以下代码行执行此操作:
test = pd.read_sql('SELECT CAST(time_end AS time(0)) FROM Raw_Validated WHERE third_temp_lpn = "%s"' % (list_lpn_temp[-1]), conn).astype(str).values
times.extend(test)
print (times)
由于某些原因,打印时还添加了“0天”,因此我们的打印看起来像:
在文本中
2019-07-26 19:00:00 | 2019-07-26 19:20:00
[array(['0 days 19:20:00.000000000'], dtype=object)]
2019-07-27 03:00:00 | 2019-07-27 03:20:00
[array(['0 days 19:20:00.000000000'], dtype=object), array(['0 days 12:40:00.000000000'], dtype=object), array(['0 days 17:00:00.000000000'], dtype=object), array(['0 days 11:20:00.000000000'], dtype=object)]
2019-07-27 22:20:00 | 2019-07-27 22:40:00
[array(['0 days 19:20:00.000000000'], dtype=object), array(['0 days 12:40:00.000000000'], dtype=object), array(['0 days 17:00:00.000000000'], dtype=object), array(['0 days 11:20:00.000000000'], dtype=object)]
为什么会发生这种情况,我们能做些什么来避免这种情况?你知道吗
您应该将转换/剪切移到应用程序的python部分,我认为这比在数据库上转换更容易:
当您使用pandas时,您不应该强制转换datetime对象,因为pandas本身可以这样做:
你知道吗系列.dt.时间-返回的numpy数组日期时间.time(https://pandas.pydata.org/pandas-docs/stable/reference/series.html)
相关问题 更多 >
编程相关推荐