dataframe写入mongoDB遇到的一些问题以及解决

本文记录了在尝试将DataFrame写入MongoDB时遇到的问题,包括数据类型不匹配、键必须为字符串等错误。通过字典深拷贝、替换操作以及设置特定写入参数来解决这些问题。最后提供了一种万能的写入方法,适用于不同数据类型。
摘要由CSDN通过智能技术生成

一、问题

1. If using all scalar values, you must pass an index.

在这里插入图片描述

2. bson.errors.InvalidDocument: Cannot encode object.

在这里插入图片描述

3.documents must have only string keys, key was 0

在这里插入图片描述

4.must not contain “.”

在这里插入图片描述

5. InvalidDocument: documents must have only string keys等等很多类似的错误

花了我整整3个小时,整个人都不好了。大家看看就好,搞清楚原理,至于能不能解决就随缘吧,毕竟问题太多,会脱顶,会死脑很多细胞的,会衰老的。

二、问题分析

Mongo需要接受字典格式的数据,支持的数据类型有:
在这里插入图片描述
而pandas中独有的float64,int32,datatime等或者不能包含“.”,在mongoDB中不被支持,所以出现这些类似的错误,归根结底都是数据类型不支持的问题,但是直接将其转化为int,float太麻烦,或者直接转化为json等一些格式后再插入也会出现一些问题如TypeError: 'str' object does not support item assignment

三、解决方案

1.字典深拷贝

字典没有深拷贝&

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值