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

2024-04-26 18:15:32 发布

您现在位置:Python中文网/ 问答频道 /正文

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

例如,我的表是tab1。我将其理解为python中的dataframedf

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

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


Tags: to字符串文本dfdbdatetimedateobject
2条回答

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

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

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

相关问题 更多 >