使用 PyMongo
将 pandas DataFrame 插入 mongodb 的最快方法是什么? ?
尝试
db.myCollection.insert(df.to_dict())
报错
InvalidDocument: documents must have only string keys, the key was Timestamp('2013-11-23 13:31:00', tz=None)
db.myCollection.insert(df.to_json())
报错
TypeError: 'str' object does not support item assignment
db.myCollection.insert({id: df.to_json()})
报错
InvalidDocument: documents must have only string a keys, key was <built-in function id>
df
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 150 entries, 2013-11-23 13:31:26 to 2013-11-23 13:24:07
Data columns (total 3 columns):
amount 150 non-null values
price 150 non-null values
tid 150 non-null values
dtypes: float64(2), int64(1)
最佳答案
这里有最快捷的方法。使用 insert_many
来自 pymongo 3 的方法和 to_dict
的“记录”参数方法。
db.collection.insert_many(df.to_dict('records'))
https://stackoverflow.com/questions/20167194/
相关文章:
mongodb - 如何将 MongoDB 副本集转换为独立服务器
node.js - 使用 Mongoose (MongoDB) 查询嵌套文档
node.js - 按日期时间字段获取最新的 MongoDB 记录
mongodb - 错误 : No unix socket support on windows c
mongodb - 使用 pyMongo 创建 ISODate
java - 为 MongoDB Java 驱动程序配置日志记录
c# - 如何将 BsonDocument 对象反序列化回类