有一个带有值的 df
name date
tom 2019-12-10 07:44:03.733
mark NaT
如果我尝试这个:
data = df.to_dict("records")
mydb.test.insert_many(data)
我收到此错误:
ValueError:NaTType 不支持 utcoffset
如何在不使用 NaT 的情况下将此数据发送到 mongodb,并保持列为空而不转换为字符串。
mongodb 中的预期数据:
{
_id:ObjectId(5db012b123a2a1cabcc12345),
name:tom,
date:2019-10-23T10:55:50.569+00:00
}
{
_id:ObjectId(5db012b123a2a1cabcc12346),
name:mark
}
最佳答案
您可以将 NaT
转换为 None
,如下所示:
如果您的 df['date']
不是 datetime
列,请将其转换为一列。
df['date'] = pd.to_datetime(df['date'])
df['date'] = df['date'].astype(object).where(df['date'].notnull(), None)
然后你可以将其插入到mongo
中。
关于python - 使用 pymongo 将数据插入 mongodb 时删除 NaT 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62010085/