코드를 사용하여 MongoDB에서 데이터 유형을 pymongo로 변경하는 방법 (Python)

Aug 21 2020

내 기지에 csv 파일을 업로드합니다. 그러나 날짜 및 기타 숫자 데이터는 문자열로 표시됩니다. 필드 유형을 변경하는 방법에 대한 정보는 어디에서도 찾을 수 없습니다. 예를 써주세요)

문서는이 양식의 표에 있습니다.

{
    "_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
}

답변

D.SM Aug 21 2020 at 21:07

내 생각 엔 CSV 파일을 구문 분석 할 때 모든 값을 문자열로 가져옵니다. 결과적으로 데이터베이스에서 끝납니다.

CSV 파일에서로드 한 후 MongoDB에 삽입하기 전에 원하는 유형으로 값을 수동으로 캐스팅해야 할 가능성이 높습니다.

KonstantinIvanov Sep 01 2020 at 19:21
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})