So ändern Sie den Datentyp in MongoDB mithilfe von Code in Pymongo (Python)
Aug 21 2020
Ich lade die CSV-Datei auf meine Basis hoch. Datum und andere numerische Daten werden jedoch als Zeichenfolgen dargestellt. Nirgendwo finde ich Informationen zum Ändern des Feldtyps. Bitte schreiben Sie ein Beispiel)
Die Dokumente befinden sich in der Tabelle in diesem Formular
{
"_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
}
Antworten
D.SM Aug 21 2020 at 21:07
Ich vermute, wenn Sie die CSV-Datei analysieren, erhalten Sie alle Werte als Zeichenfolgen. Anschließend landen Sie in der Datenbank.
Höchstwahrscheinlich müssen Sie Werte manuell in den gewünschten Typ umwandeln, nachdem Sie sie aus der CSV-Datei geladen und in MongoDB eingefügt haben.
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})