如何使用代码更改 MongoDB 中的数据类型到 pymongo (Python)

How to change data type in MongoDB using code to pymongo (Python)

我将 csv 文件上传到我的基地。但是日期和其他数字数据显示为字符串。我无处可以找到有关如何更改字段类型的信息。请写例子)

文档位于 table 这种形式

{
    "_id": {
        "$oid": "5f3e76dfaca73bedb23ef8a1"
    },
    "Province/State": null,
    "Country/Region": "Afghanistan",
    "Lat": "33.93911",
    "Long": "67.709953",
    "Date": "2020-08-19",
    "Value": "37599",
    "ISO 3166-1 Alpha 3-Codes": "AFG",
    "Region Code": "142",
    "Sub-region Code": "34",
    "Intermediate Region Code": null
}

我的猜测是,当您解析 CSV 文件时,您得到的所有值都是字符串。随后这就是您在数据库中得到的结果。

很可能您需要在从 CSV 文件加载值之后以及插入到 MongoDB 之前手动将值转换为所需的类型。

df = pd.read_csv(path, parse_dates=["Date"], dtype={"Lat": "double", "Value": "int32"}, skiprows=[1])
            df = df.fillna({"Region Code": 0, "Sub-region Code": 0, "Intermediate Region Code": 0})
            df = df.astype({"Region Code": int, "Sub-region Code": int, "Intermediate Region Code": int})