读取xlsx文件存入MongoDB数据库中

news2024/9/30 9:37:09

要将xlsx文件存入MongoDB数据库,您需要执行以下步骤:

步骤1:安装必要的库

您需要安装pymongo和openpyxl库。您可以使用以下命令安装:

pip install pymongo openpyxl

 步骤2:创建一个MongoDB数据库

您需要创建一个MongoDB数据库,以便将数据存储在其中。您可以使用MongoDB Compass或命令行创建数据库。

步骤3:编写Python脚本

以下是一个Python脚本,可将xlsx文件读取为Pandas数据框架,然后将数据插入MongoDB数据库。

在以上代码中,我们首先连接到MongoDB数据库并指定数据库和集合。然后我们加载D盘一个名为“城市对照表.xlsx”的xlsx文件并将其读入一个Pandas数据框架。最后,我们将数据插入MongoDB数据库。

一、代码:

import pymongo
import pandas as pd
from openpyxl import load_workbook

# 连接MongoDB数据库
client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client["pms"]
collection = db["address"]

# 加载xlsx文件
workbook = load_workbook(filename="D:/城市对照表.xlsx")
worksheet = workbook.active
# 读取数据为Pandas数据框架
data = worksheet.values
columns = next(data)
df = pd.DataFrame(data, columns=columns)

# 将数据插入MongoDB数据库
records = df.to_dict('records')
collection.insert_many(records)

print("数据已成功插入MongoDB数据库")

 二、代码:

import openpyxl
import pymongo

# 连接MongoDB数据库
client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client["customer_master_data"]
collection = db["base_pms"]

# 打开xlsx文件
wb = openpyxl.load_workbook('D:/城市对照表.xlsx')
sheet = wb.active
data = []
for row in sheet.iter_rows(min_row=2, values_only=True):
    PKID = row[0]
    RegionName = row[1]
    RegionLevel = row[2]
    data.append({"PKID": PKID, "RegionName": RegionName, "RegionLevel": RegionLevel})

collection.insert_one({'InfoTypeID': 80000, 'data': data})

print("数据已成功更新/插入MongoDB数据库")

步骤4:运行Python脚本

保存Python脚本并执行以下命令来运行它:

脚本将读取xlsx文件并将数据插入MongoDB数据库。

python script.py

一、结果:

 二、结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1181009.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Etcd 常用命令与备份恢复

1. etcd简介 官方网站:etcd.io 官方文档:etcd.io/docs/v3.5/op-guide/maintenance 官方硬件推荐:etcd.io/docs/v3.5/op-guide/hardware github地址:github.com/etcd-io/etcd etcd是CoreOS团队于2013年6月发起的开源项目&#xf…

常用评价指标及方法(以NILM及SV为例)

1. NILM的评价指标 主要有 accuracy,precision,recal, F1-score, F1-micro, F1-macro 首先需要了解一下几个概念,TP (true positive), FP (false positive), TN (true negitive), FN (false negitive)。 TP:true positive。预测是正确的正样本FP:false positive。…

Linux应用开发基础知识——Makefile 的使用(二)

前言: 在 Linux 中使用 make 命令来编译程序,特别是大程序;而 make 命令所执 行的动作依赖于 Makefile 文件。最简单的 Makefile 文件: hello: hello.c 、gcc -o hello hello.c 、clean:、 rm -f hello 将上述 4 行存为 Makefile …

通过关键词合并2张excel表格——Python代码实现

问题描述 2个excel表格中都包含了一个共同的关键字【单品编码】,如何将2个表通过该关键字合并为一张表格。使用Python代码完成该任务。 1.数据说明 附件1中的数据excel格式 销售日期,扫码销售时间,单品编码,销量(千克),销售单价(元/千克),销售类型,是否打折销售…

访问控制列表

目录 ACL ACL原理 ACL包过滤方式 ACL通用命令 查看ACL表命令 删除整张表命令 接口配置ACL ACL分类 标准ACL 标准ACL的动作与条件 通配符掩码 扩展ACL 扩展ACL的动作与条件 命名ACL 前言 书写方式 ACL 含义:访问控制列表,其是一种包过滤…

element 弹窗浏览器后退-遮照层还存在问题 以及跟vue keep-alive冲突

问题:element 弹窗浏览器后退-遮照层还存在问题 查询官网可以设置 modal-append-to-body“false” 可以全局设置 ElementUI.Dialog.props.modalAppendToBody.default false 后续 基本到这能解决问题,不过本项目比较特殊,使用了 keep-alive…

你真的了解static吗?

目录 一.static1.概念2.存在形式3.访问形式注意4.static成员变量的初始化4.1就地初始化4.2使用代码块初始化 5.关于main 二.代码块概念1.普通代码块2.构造代码块3.静态代码块注意事项①加载形式②加载顺序 一.static 1.概念 在Java中,被static修饰的成员&#xff0…

Visual Studio 2017附加依赖项

在读韩国人尹圣雨的《TCP/IP网络编程》,在书中教我如何在Visual Studio 2008中设置附加依赖项,但是我使用的是Visual Studio 2017,所以我写下这篇文章学习如何在Visual Studio 2017附加依赖项。 在项目这里选择属性。 选择输入这一项,然后点…

如何通过货架电子标签PTL灯光指引拣选优化仓库管理

物流仓储行业的不断发展和智能化技术的应用,仓库管理的效率和精度要求也日益提高。在这样的背景下,PTL亮灯拣选系统作为一种智能化设备,采用分布式管理结构,为仓库管理带来了新的可能性。 PTL亮灯拣选系统采用智能计算机作为主控设…

低代码工具的常见用例与受众市场

目录 一、低代码工具的常见用例是什么? 1.业务流程管理(BPM) 2.自定义应用程序开发 3.数据管理和分析 4.移动应用程序开发 二、低代码受众和市场 1.制造商 2.个人开发者/自由职业者 3.代理商 4.小型企业和初创企业 5.中型企业 6.营销团队 7.软…

Voice Control for ChatGPT简单高效的与ChatGPT进行交流学习。

快捷又不失灵活性 日常生活中,我们与亲人朋友沟通交流一般都是喜欢语音的形式来完成的,毕竟相对于文字来说语音就不会显的那么的苍白无力,同时最大的好处就是能解放我们的双手吧,能更快实现两者间的对话,沟通便更高效…

基于Java Web的在线教学质量评价系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

【数据结构】树与二叉树(五):二叉树的顺序存储(初始化,插入结点,获取父节点、左右子节点等)

文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语5.1.4 树的表示 5.2 二叉树5.2.1 二叉树1. 定义2. 特点3. 性质引理5.1:二叉树中层数为i的结点至多有 2 i 2^i 2i个,其中 i ≥ 0 i \geq 0 i≥0。引理5.2:高度为k的二叉…

免费好用的网页采集工具软件推荐

在众多各具特色的采集器软件中,真正好用的采集器软件有哪些? 自己一个个去查找和尝试无疑会耗费大量的时间和精力。 因此,在深入体验大多数采集器后,给大家推荐几款优秀且好用的免费网页采集器软件。 本文将对这几款采集器进行…

【机器学习】梯度下降预测波士顿房价

文章目录 前言一、数据集介绍二、预测房价代码1.引入库2.数据3.梯度下降 总结 前言 梯度下降算法学习。 一、数据集介绍 波士顿房价数据集:波士顿房价数据集,用于线性回归预测 二、预测房价代码 1.引入库 from sklearn.linear_model import Linear…

如何处理 java.lang.NoClassDefFoundError

1. 问题背景 系统异常提示java.lang.NoClassDefFoundError: ch/qos/logback/classic/spi/ThrowableProxy 2.问题分析 了解NoClassDefFoundError含义 在开始解决这个问题之前,我们需要先了解一下java.lang.NoClassDefFoundError错误的含义。这个错误通常表示在运行…

借助 DevChat AI 之力,成就我之全栈梦想

何为 DevChat ? DevChat 是集好多种 AI 大模型的智能编程工具,可以大大增加我们上班摸鱼的时间。 整合了如 ChatGPT、Codex等热门 AI 模型支持自然语言编程、代码生成与编写、代码补全等功能因其集成热门 AI 智能,相当于站在了巨人的肩膀上&#xff0c…

琛蓝健康明星产品ClamBP™蛤蜊肽,调节血压的针对性方案

琛蓝健康明星产品ClamBP™蛤蜊肽,调节血压的针对性方案 高血压是现今社会最紧迫的公共卫生挑战之一,影响着全球约20%的成人人口。据《中国心血管健康与疾病报告2019》显示,中国高血压患者达2.45亿。长期高血压可引起心脏病、中风、肾功能减退…

Kibana Dashboard饼图展示keyword子字符串去重统计

日志内容 log.info("请求开始 uri: {} header RequestId:{}", request.getRequestURI(), reqId, request.getHeader("request_id"));操作步骤 进入Dashboard菜单 点击Create Dashboard按钮 点击Create Panel按钮 选择Aggregation based 然后选择Pie饼图 …

C#在.NET Windows窗体应用中使用LINQtoSQL

目录 一、新建Windows窗体应用并添加LINQtoSQL类 二、错误信息CS0234 三、添加扩展包让Windows窗体应用支持LINQtoSQL类 默认安装的背景下,新建的Windows窗体应用是不支持LINQtoSQL类的。现象是资源管理器里的依赖项中默认的安装不能自动生成支持system.data.lin…