Cómo cambiar el tipo de datos en MongoDB usando código para pymongo (Python)
Aug 21 2020
Subo el archivo csv a mi base. Pero la fecha y otros datos numéricos se presentan como cadenas. En ninguna parte puedo encontrar información sobre cómo cambiar el tipo de campo. Por favor escriba un ejemplo)
Los documentos se encuentran en la tabla de este formulario.
{
"_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
}
Respuestas
D.SM Aug 21 2020 at 21:07
Supongo que cuando analizas el archivo CSV obtienes todos los valores como cadenas. Posteriormente, eso es lo que terminas en la base de datos.
Lo más probable es que necesite convertir manualmente los valores al tipo deseado después de cargarlos desde el archivo CSV y antes de insertarlos en 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})