当我们采用python将dataframe写入mysql时,如果dataframe中含有时间格式,且里面有NaT, 则会报错。如:df 中的时间列如下:
update_time |
NaT |
NaT |
NaT |
2021-08-07 12:31:50 |
#获取df中字段类型为datatime的列名
c = df.dtypes
col_time = [i for i in c.index if c[i] == 'datetime64[ns]']
columns = list(df)
#对每个时间列进行处理
for col in col_time:
df[col] = np.where(df[col].notnull(), df[col].dt.strftime('%Y-%m-%d %H:%M:%S'), None)
如果有更好的方式,欢迎交流。