코드를 사용하여 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})