我的pandas数据框中有一张表。
id count
1 12
2 4
3 7
4 3
5 9
我定义了一个字符串
dateSelect = "'2016-11-20'"
我想在我的dates
dateSelect
作为常量值
所以我做了df['dates'] = pd.Timestamp(dateSelect)
我得到了结果
id count dates
1 12 2016-11-20
2 4 2016-11-20
3 7 2016-11-20
4 3 2016-11-20
5 9 2016-11-20
(也尝试使用
df['dates'] = dateSelect
df['dates'] = pd.to_datetime(df['dates'])
)
现在,我使用sqlalchemy
from sqlalchemy import create_engine
engine = create_engine('mysql+mysqldb://name:pwd@xxx.xxx.xx.xx/dbname', echo=False)
df.to_sql(name='date_test', con=engine, if_exists = 'append', index=False)
当我从我的数据库中查询时
select * from date_test;
我得到以下结果。
id count dates
1 12 2016-11-20 00:00:00
2 4 2016-11-20 00:00:00
3 7 2016-11-20 00:00:00
4 3 2016-11-20 00:00:00
5 9 2016-11-20 00:00:00
但我不想有时间来那里。
有没有其他方法可以在我的数据框中查询,以便这些00:00:00
不会出现在我的数据库中。
P.S我不想在存储数据库后对我的表进行任何更改
答案 0 :(得分:1)
您可以尝试将datetime转换为日期对象,然后写入sql。
dateSelect = '2016-11-20'
df['dates'] = dateSelect
df['dates'] = pd.to_datetime(df['dates']).dt.date
希望这有帮助。