我有一列数据帧df具有列TS其中
In [1]: type(df.TS.values[0])
Out[1]: pandas.tslib.Timestamp
Run Code Online (Sandbox Code Playgroud)
我将列转换为类型 datetime.datetime()
In [2]: import datetime
In [3]: df['TS'] = df['TS'].astype(datetime.datetime)
Run Code Online (Sandbox Code Playgroud)
我想将此数据框写入 mssql 2008 数据库中的表,使用pd.to_sql(). 所以,我运行以下。
In [4]: coltype = {'TS': sqlalchemy.TIMESTAMP}
In [5]: df.to_sql(name='Table', con=engine, if_exists='append', index=False, dtype=coltype)
Out[5]: ValueError: df (<class 'sqlalchemy.sql.sqltypes.TIMESTAMP'>) not a string
Run Code Online (Sandbox Code Playgroud)
我也试过不将列转换为datetime.datetime()并得到相同的错误。我查看了sqlalchemy有关列类型的文档,但无法弄清楚应该传递什么参数。有人能帮我理解我应该传递什么来将列作为日期时间对象写入数据库吗?