如果mongo集合中的字段在dataframe中为null或NaN,如何不在mongo集合中插入该字段?

2024-05-14 00:39:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我从SQL中获取数据,进行一些操作,然后将其转换为Pandas DataFrame,最后将其插入Mongo集合。但字段也显示了在mongo中有空值的字段,这是我不想要的

以下是数据帧:

person = [
    {
        "name" : "Tom",
        "location" : "Pune",
        "zone" : "Red",
        "profession" :"IT"

    },
    {
        "name" : "Jerry",
        "location" : "Mumbai",
        "profession":""

    }
]

df = pd.DataFrame(person)

这就是我将dataframe插入Mongo的方式:

def bulkInsertData(collectionName, df):
    try:
        records = json.loads(df.to_json()).values()
        dbInst[collectionName].insert_many(records, ordered=False, bypass_document_validation=True)
    except BulkWriteError as bwe:
        print(bwe.details)
    except UnicodeEncodeError as bwe:
        print(bwe.details)

但所有领域都在显示。如您所见,在Mongo中,不应为Jerry插入“区域”和“职业”字段。提出一些想法


Tags: namejsondataframedfmongoaslocationperson