我有一个名为“df”的pandas数据框架,我正在使用针对Netezza数据库的SQL查询结果创建它。我在Jupyter笔记本电脑公司工作。dataframe有两行,其中两列(CREATEDDATE和STAGEDATE)包含日期时间值。当我运行print(df)时,结果如下所示:
ID ISDELETED PARENTID CREATEDBYID \
0 017o000003tQRftAAG false a0no000000Hrv1IAAR 005o0000001w8wgAAA
1 017o000003jl52cAAA false a0no000000GszDUAAZ 005o0000001w2pTAAQ
CREATEDDATE FIELD OLDVALUE NEWVALUE STAGEDATE
0 2015-07-30 14:51:41 created None None 2016-06-06
1 2015-07-16 14:48:37 created None None 2016-06-06
如果运行print(df.dtypes),结果如下:
ID object
ISDELETED object
PARENTID object
CREATEDBYID object
CREATEDDATE datetime64[ns]
FIELD object
OLDVALUE object
NEWVALUE object
STAGEDATE datetime64[ns]
dtype: object
因此,据我所知,我的datetime列的格式正确,可以使用write_()写入Snowflake。然而,在我这样做之后,雪花的日期就大不相同了:
例如,2016-06-06的阶段值现在是48399-06-06。有人知道如何解决这个问题吗?我正在使用pyodbc和df=cs.execute()从Netezza执行拉取操作,以填充数据帧。我正在导入并使用snowflake.connector连接到snowflake,并正在运行以下操作以获得write\u pandas:
from snowflake.connector.pandas_tools import write_pandas
给予
这就是说,你的日期,变成了历元毫秒,并解析为秒,表示你的日期
所以你可以扔掉毫秒,或者改变日期的解析方式
相关问题 更多 >
编程相关推荐