欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > Python代码片段-Excel导入到MongoDB

Python代码片段-Excel导入到MongoDB

2025/5/12 9:31:01 来源:https://blog.csdn.net/hl449006540/article/details/145857147  浏览:    关键词:Python代码片段-Excel导入到MongoDB

有一次遇到一个需求,需要把Excel的数据导入到MongoDB中,表面上感觉就是导入数据很简单,但实际操作后,发现是比较麻烦的一个事情,一般图形化的工具对于MongoDB而言,导入选项都是json的,根本没有Excel的选项,而Excel中的数据包含敏感信息,又不能用在线工具转换为json,当时为了尽快处理完事情,当时尝试了Navicate工具,是支持的从Excel读取插入到MongoDB中。

这个事件结束后,感觉还是有必要要写个Python的导入脚本,完善自己的工具箱,如果再次遇到相同的问题可以有个PlanB。

代码虽然没有几行,但是胜在好用

import pandas as pd
import pymongoclient = pymongo.MongoClient('mongodb://root:3a20ebec5e29c031be5ce78e6413a0@localhost:27017/admin?directConnection=true')
database = client["db1"]
collection = database["table1"]df = pd.DataFrame(pd.read_excel("工作簿1.xlsx", sheet_name ="Sheet1"))for row in df.itertuples():buf = {}for i,v in enumerate (list(df.columns)):buf [v] = row[i+1]print(buf)collection.insert_one(buf)

构建测试用Excel
在这里插入图片描述

MongoDB数据展示
在这里插入图片描述

另附Linux启动mongodb的docker-compose脚本,windows或macos请自行更改

#!/bin/bash# 在当前目录下创建mongodb的docker-compose及相关目录mkdir mongo-shell
mkdir db
openssl rand -base64 745 > keyfile.key
sudo chown 999 keyfile.key
sudo chmod 600 keyfile.key
sudo chown 999 mongo-shellcat > docker-compose.yam <<EOF
version: "3.2"
services:mongo-standalone:image: mongo:4.4restart: alwaysenvironment:MONGO_INITDB_ROOT_USERNAME: rootMONGO_INITDB_ROOT_PASSWORD: passwordports:- "27017:27017"volumes:- /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime- ./db:/data/db- ./keyfile.key:/data/keyfile.keycommand: mongod --keyFile=/data/keyfile.key --auth --port=27017
EOFdocker-compose up -d 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词