如何使用sqlalchemy插入日期时间?

时间:2016-11-20 20:09:35

标签: sqlite sqlalchemy

我有这个代码使用alchemy:

将一些行插入SQLITE
 df['date_create'] = pd.to_datetime(df['date_create'])

 list1 = df.to_dict(orient='records') 
 list1= list1[0]
 metadata = sql.schema.MetaData(bind=dbengine,reflect=True)
 table = sql.Table(table1, metadata, autoload=True)

 Session = sql.orm.session.sessionmaker(bind=dbengine)
 session = Session()
 res= dbengine.execute(table.insert(), list1)

但是,我收到了以下错误消息:

(exceptions.TypeError) SQLite DateTime type only accepts 
Python datetime and date objects as input. 

如何传递日期时间以便插入?

2 个答案:

答案 0 :(得分:0)

这可能是因为Pandas定义了许多自己的类型,所以Pandas to_datetime方法返回其内部日期时间类型之一,而不是“真实的” Python日期时间。 SQLite不知道如何使用Pandas日期时间。在尝试保存之前,请尝试将这些Pandas日期时间转换为Python日期时间。

答案 1 :(得分:0)

Sqlite没有对日期或日期时间对象的显式存储支持。而是将日期(或日期时间)对象存储为Text,Real或Integer。有关详细信息,请参见Sqlite docs