[英]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, DATETIME
和DATE
等数据类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.