首页 > 解决方案 > 如果 Pandas 数据框中的字段为 null 或 NaN,如何不在 mongo 集合中插入字段?

问题描述

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

这是数据框:

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

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

    }
]

df = pd.DataFrame(person)

这就是我将数据框插入 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 插入“区域”和“专业”字段。提出一些想法。

标签: pythonpandasmongodb

解决方案


推荐阅读