繁体   English   中英

在python中将datetime.date或字符串转换为时间戳

[英]Convert datetime.date or string to timestamp in python

我知道这个问题之前已经发布了更多次,但我几乎没有怀疑。 我有一个datetime.date (例如mydate = date(2014,5,1) ),我将它转换为字符串,然后作为表中的列(dtype:object)保存在数据库中。 现在我想将日期的存储从文本更改为 DB 中的时间戳。 我试过这个,

前任。 我的表是tab1 我在python中将其读作数据帧df

# datetime to timestamp
df['X'] = pd.to_datetime(mydate)

当我在 python 编辑器df.info()检查df.info() ,X 的df.info()是 datetime64[ns] 但是当我将它保存到 MySQL 中的 DB 并在 python 中作为数据帧再次读取时,dtype 更改为对象。 我的数据类型为 MySQL 中的 datetime,但我需要它作为 MySQL 中的时间戳数据类型。 有什么办法吗? 另外,我只需要Timestamp('2014-5-01 00:00:00')并排除时间。

问题是当你从 MySQL 读取序列化值时,python MySQL 连接器不会转换它。 在从游标读取数据后,您必须通过在检索到的数据上再次调用您的函数将其转换为 DateTime 值:

df['X'] = pd.to_datetime(df['col'])

如所建议的,我通过使用改变直接列型dtype参数在to_sql()函数,同时插入到数据库中。 所以,现在我可以在 MySQL 中使用TIMESTAMP, DATETIMEDATE等数据类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM