2016-04-27 13 views
0

Ich versuche, einen Pandas DataFrame mit PyMongo in Mongodb einzufügen.Pandas Timestamp in Mongodb einfügen

df.head() 

enter image description here

Da der Index, wenn der Pandas Datenrahmen ist ein DatetimeIndex, den Datenrahmen zu einem dict Umwandlung und es zu MongoDB Einfügen:

db.testCollection.insert(df.T.to_dict()) 

führen zu einem Fehler:

InvalidDocument: documents must have only string keys, key was Timestamp('2016-04-07 09:30:00') 

Wie können wir das DatetimeIndex in etwas anderes umwandeln, das in Mongodb eingefügt werden kann, und später noch in einen DatetimeIndex konvertiert werden kann, wenn er von Mongodb liest?

Antwort

1

würde eine Lösung sein, dass Sie Index str, bevor speichern weg in MongoDB, so kommen:

>> df.index = df.index.astype(str) 
>> db.testCollection.insert(df.T.to_dict()) 

Wenn die Daten aus db Lesen Sie es später erneut können Sie Index Zeitstempel drehen:

>> df.index = pd.to_datetime(df.index) 

Ich hoffe, dies hilft