Python导入Excel表格数据并以字典dict格式保存

  本文介绍基于Python语言,将一个Excel表格文件中的数据导入到Python中,并将其通过字典格式来存储的方法。

  我们以如下所示的一个表格(.xlsx格式)作为简单的示例。其中,表格共有两列,第一列为学号,第二列为姓名,且每一行的学号都不重复;同时表格的第一行为表头。

  假设我们需要将第一列的学号数据作为字典的,而第二列姓名数据作为字典的

  首先,导入必要的库。

from openpyxl import load_workbook

  随后,列出需要转换为字典格式数据的Excel文件的路径与名称,以及数据开头所在行、数据的总行数。在这里,由于第一行是表头,因此开头所在行look_up_table_row_start就是2;同时这个表格共有32位同学的信息,因此总行数look_up_table_row_number就是32

look_up_table_path='F:/学习/2020-2021-2/形势与政策(二)/论文与学习心得/01_学习心得/Name_Number.xlsx'
look_up_table_row_start=2
look_up_table_row_number=32

  接下来,我们就可以直接依次读取Excel表格文件中的数据,并将其导入到字典格式的变量name_number_dict中。

name_number_dict={}
look_up_table_excel=load_workbook(look_up_table_path)
look_up_table_all_sheet=look_up_table_excel.get_sheet_names()
look_up_table_sheet=look_up_table_excel.get_sheet_by_name(look_up_table_all_sheet[0])
for i in range(look_up_table_row_start,look_up_table_row_start+look_up_table_row_number):
    number=look_up_table_sheet.cell(i,1).value
    name=look_up_table_sheet.cell(i,2).value
    name_number_dict[number]=name

  至此,大功告成;我们来看一看name_number_dict此时的状态:

  其中,Key就是原本Excel中的学号Value(就是右侧的马赛克区域)就是原本Excel中的姓名;还可以从上图的标题中看到,这个字典共有32elements,也就是对应着原本Excel32位同学的信息。

本文转载于网络 如有侵权请联系删除

相关文章

  • 如何使用DDexec在Linux上隐蔽运行二进制文件

    关于DDexecDDexec是一种能够在Linux上使用无文件技术和隐秘技术运行二进制文件的方法,它可以使用dd工具来将Shell替换为其他进程。众所周知,在Linux上运行一个程序,则这个程序必须以一个文件的形式存在,而且必须能够通过文件系统层次结构并以某种方式访问到它,这也是execve()的工作机制。这样的一种文件可能位于磁盘中或RAM(tmpfs、memfd)中,但我们肯定需要一个文件路径。这种机制不仅使得我们可以轻松控制Linux系统中运行的内容,而且还可以轻松检测到安全威胁或攻击者植入的恶意程序,甚至还可以阻止攻击者尝试执行他们的任何工具,比如说不允许未经授权的用户将可执行文件放在任何地方。但是,DDexec的出现改变了这种情况。技术机制1、大多数的Shell解释器都允许创建文件描述符,而这些文件描述符随后将被子进程继承。我们可以创建一个fd,并指向Shell(带有写入权限)的mem文件,此时子进程将使用这个fd并修改Shell的内存; 2、ASLR不会成为“拦路虎”,因为我们可以检查Shell的maps文件或其他信息来获取关于进程地址空间的相关信息; 3、使用lseek(

  • 再次推荐下这本书 —— DDIA

    早就在知乎上听人推荐过DDIA(设计数据密集型应用),之前偶尔翻过第二部分Replication和Partition两章,感觉讲的还不错,但对于做分布式存储和数据库人员来说,稍微有点泛泛而谈。初次见面,只觉其好而不神。今年(2022)建了一个分布式系统和数据库爱,如果不组织大家做点什么,微信群迟早沦为僵尸群,“好”一点的可能变成吹水群,但这显然不是我的初衷。念念不忘,必有回响,心里又掠过了这本书,更兼在北美华人群里见过本书被分享过,还挺受欢迎。一拍大腿,就是他了:组织大家一块过一遍DDIA吧,于是有了这个读书会。一精读,便不可收拾。这才发现了此书之妙:数据系统方方面面,知识线索极为庞杂,本书却能以极为合理的脉络将其勾连在一起,形成环环相扣的知识体系。至于泛泛而谈?自然是真真香:这本就是框架式书籍,更何况,每章附录列出参考引用、论文列表,都是非常经典的深入阅读材料。那么它的组织妙在何处?现在(20220425)刚精读到第五章,仅以现在认识来简单聊聊我的看法。第一,全书分三个部分。分别是单机,多机,衍生。从单机开始聊数据系统,可以摒除分布式庞杂理论的影响,专注在数据系统本身相关理论;到第二

  • React 组件

    本章节我们将讨论如何使用组件使得我们的应用更容易来管理。接下来我们封装一个输出"HelloWorld!"的组件,组件名为HelloMessage:React实例functionHelloMessage(props){ return<h1>HelloWorld!</h1>; } constelement=<HelloMessage/>; ReactDOM.render( element, document.getElementById('example') );复制实例解析:1、我们可以使用函数定义了一个组件:functionHelloMessage(props){ return<h1>HelloWorld!</h1>; }复制你也可以使用ES6class来定义一个组件:classWelcomeextendsReact.Component{ render(){ return<h1>HelloWorld!</h1>; } }复制2、constelement=<

  • 小程序自动化测试框架Python3+Minium+微信开发者工具

    今天跟大家一起学习一套小程序自动化框架:Python3+Minium+微信开发者工具前置:已安装Python3环境 1.查询python版本号1.1打开cmd>>输入python-V查询版本 2.安装minium前端源码文件2.1下载minium-doc:https://git.weixin.qq.com/minitest/minium-doc2.2.安装相关环境配置2.3.安装docsify2.4.安装依赖2.5.本地部署2.6.验证是否部署成功访问http://localhost:3000/#/ 如下图就是部署成功3.安装minium后端源码文件至Python库3.1下载https://git.weixin.qq.com/minitest/minium-doc/blob/master/minium/Python/dist/minium-1.0.6.zip3.2下载成功后,解压到本地,使用管理员打开cmd,执行pythonsetup.pyinstall命令3.3去python3路径下验证包是否安装成功\Lib\site-packages目录下3.4微信开发者工具配置命令行

  • 这特么也太好看了----------博客园主题美化

    目录1.前言2.过程2.1复制粘贴2.2音乐播放器2.3邮箱的邮我功能2.4各部分图片替换位置2.4.1首页的轮播图2.4.2博客的顶部图片2.4.2首页中间的图标2.5各部分超链接替换位置2.5.1中间图标的链接2.5.2首页顶部的链接3.实际效果1.前言因为博主最近一直在想着把自己的文章同步到博客园,掘金,简书等类似的技术博客网站上,偶然间看到了博客园可以自己自定义博客的样式。博主立马就来了兴趣,毕竟谁不喜欢好看的,我就是馋它的身子。我下贱。 经过一个下午的探索终于是把它搞好了,反正博主自己感觉好看的一笔。2.过程网站的样式主要是由这位小姐姐提供的,小姐姐的是做前端的,难怪做出来的网站这么好看!!小姐姐和知乎上一个老哥都出过安装的教程,以下是网址: 博客园二次元主题——Sakura 博客园主题美化 这是模板的下载链接:https://link.zhihu.com/?target=https%3A//files.cnblogs.com/files/qimuz/Sakura.zip 打开是这样的: 我们首先需要将博客园的皮肤选定为Custom,因为该模板就是根据这个皮肤改的。 2.

  • 光影研究室|影像前沿,创意无限(大量招聘)

    我们是谁?我们的“脑~洞”有多大?看到这里想必你已经对我们有了一定的了解~还在等什么呢?! 最COOL最有创意的团队等你加入!简历及作品请投递: shhr_zhaopin@tencent.com 邮件标题:光影+岗位+姓名<算法研究类>光影AI算法团队提供全栈的计算机视觉的AI能力,包括基础的检测,分割,关键点,GAN生成,3D人脸/人体/场景重建,AR/SLAM等。团队致力于AI能力的创新和落地,为产品落地和爆款玩法提供核心的弹药。38663-人脸三维重建算法高级研究员1.负责移动端单目摄像头人脸三维重建相关技术的算法研究; 2.负责移动端人脸3D美妆、3D光照、Animoji相关技术的算法研究;38663-计算机视觉算法高级研究员1.负责深度学习、图像理解、机器学习等前沿技术的研究,保持行业领先水平,持续突破技术上限; 2.负责计算机视觉和深度学习算法的开发与性能提升,涉及到的主要问题包括但不限于:视频,图像精细化人景分离算法,体态识别,手势识别,物体追踪等;  3.提出和实现最前沿的算法,保持算法在工业界和学术界的领先。38663-深度学习GAN研究员1.负责生成对抗

  • Python基础入门7--编写测试用例

    图来自Unsplash,作者:BrandonHoogenboom2019年第62篇文章,总第86篇文章 本文大约5000字,阅读大约需要15分钟Python基础入门前六篇:Python基础入门--简介和环境配置Python基础入门_2基础语法和变量类型Python基础入门_3条件语句和迭代循环Python基础入门_4函数Python基础入门_5面向对象基础Python基础入门6_文件和异常这是第七篇,也是这个基础入门系列的最后一篇内容,简单介绍如何采用unittest模型编写测试用例。测试函数首先是给出用于测试的代码,如下所示,这是一个接收姓和名然后返回整洁的姓名的函数:defget_formatted_name(first,last): full_name=first+''+last returnfull_name.title() 复制简单的测试代码:first='kobe' last='bryant' print(get_formatted_name(first,last))#输出KobeBryant 复制在Python标

  • Golang. Leetcode 416. Partition Equal Subset Sum.go

    版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/89143593 思路dp dp[i]:是否可以得到和i dp[i+v]=true,如果dp[i]==true,如果可以得到i,那么加上v就得到了i+v,所以dp[i+v]=true dp[0]=true,得到和0是可以的 循环处理获得dp,期间要判断是否已经得到了结果codefunccanPartition(nums[]int)bool{ sum:=0 for_,v:=rangenums{ sum+=v } ifsum%2==1{ returnfalse } dp:=make([]bool,sum+1) fork:=rangedp{ dp[k]=false } dp[0]=true for_,v:=rangenums{ //注意,这里是倒着循环,避免被覆盖 fori:=sum;i>=0;i--{ ifdp[i]{ dp[i+v]=true } } ifdp[sum/2]{ re

  • Python爬虫实战之使用Scrapy爬起点网的完本小说

    作者:totcw 来源:http://blog.csdn.net/totcw/article/details/65444660一.概述 本篇的目的是用scrapy来爬取起点小说网的完本小说,使用的环境ubuntu,至于scrapy的安装就自行百度了。 二.创建项目 scrapystartprojectname通过终端进入到你创建项目的目录下输入上面的命令就可以完成项目的创建.name是项目名字. 三.item的编写 我这里定义的item中的title用来存书名,desc用来存书的内容.、 四.pipelines的编写 在pipelines可以编写存储数据的形式,我这里就是使用txt形式的文件来存储每一本书 五.Setting的编写只要将下面代码中的tutorial替换成自己项目的名字就可以六.spider的编写七.总结 通过上面的代码虽然可以获取所有书的内容,但是起点是有vip限制的,也就是说必须用起点的vip帐号登录才能查看完本的小说,因此这有点遗憾,我没有起点小说网的会员.

  • AI一分钟 | 小米智能音箱mini版曝光,或售199元;特朗普被指利用AI竞选成功

    整理|阿司匹林一分钟AI3月19日,小米社区有网友曝光了小爱同学mini版,它可能是3月27日小米MIX2S发布会的“小惊喜”,售价可能为199元。据外媒报道,剑桥分析公司(CambridgeAnalytica)与2016年特朗普竞选团队合作,后者被指利用AI竞选成功。百度方面对外宣布,将于本月26日正式对外发布智能视频音箱,据AI科技大本营了解,这款产的售价或在千元以内。据韩国知识产权局表示,2017年AI半导体专利达391件,对比2013年的32件,近4年成长超过10倍,新专利绝大多数属于非存储器半导体。近日,前美国国防部副部长RobertO.Work透露,他将与新成立的美国安全中心合作,主要任务是连接美国联邦政府和大型科技公司,探索如何妥善应用AI技术。知情人士称丰田汽车将在一款小型货车车型中采用Uber的自动驾驶技术。腾讯车联“AIinCar”正在车企中逐步落地,日前搭载了“腾讯我的车”系统的吉利2018款博越正式发布。据新京报的消息称,滴滴近期拟融资100亿元,滴滴此次融资或与其即将上线的外卖业务相关。据悉,滴滴外卖服务将于4月1日在无锡上线。 嘀!恭喜你,周一《AI一分钟》

  • 腾讯云API网关使用计划示例

    操作场景服务发布之后,您还需要创建密钥对和使用计划,并与服务环境进行绑定,才能调用成功。本文以特定用户的使用计划为例,提供从配置使用计划到提供给用户使用的完整示例。 前提条件 已完成服务创建、API创建和调试,确保API有效可响应。 已发布服务到某一环境中,例如发布环境release。 操作步骤创建密钥对 登录API网关控制台,在左侧菜单栏单击应用,进入应用管理页面。 在应用管理页面,单击页面上方的密钥,切换到密钥管理标签页。 在密钥管理标签页,单击新建,在弹出的对话框中选择密钥类型并填写以下信息。自动生成密钥自定义密钥填写密钥名即可。密钥名:最长50个字符,支持字母、数字、下划线填写密钥名、SecretId和SecretKey。密钥名:最长50个字符,支持字母、数字、下划线、中横线SecretId:5-50个字符,支持字母、数字、下划线、中划线SecretKey:10-50个字符,支持字母、数字、下划线、中划线 单击提交,系统会自动生成或保存您定义的密钥对(SecretId和SecretKey)。 创建使用计划 在左侧菜单栏单击使用计划,进入使用计划的列表页。 在页面左上角,单击

  • LeetCode:Longest Valid Parentheses

    题目链接 Givenastringcontainingjustthecharacters'('and')',findthelengthofthelongestvalid(well-formed)parenthesessubstring. For"(()",thelongestvalidparenthesessubstringis"()",whichhaslength=2. Anotherexampleis")()())",wherethelongestvalidparenthesessubstringis"()()",whichhaslength=4. 算法1 这道题首先想到的是动态规划,字符串为s,设bool数组dp[i][j]表示子串s[i…j]是否可以完全匹配,那么动态规划方程如下: 初始化dp数组为false 如果dp[i+1][j-1]==true&&s[i]==‘(’&&s[j]==‘)’或者存在k=i+1…j-1使得dp[i][k]==true&&dp[k+1][j]=true,则dp[i][j]=true 方程的意思

  • Zookeeper学习(1):安装

    zookeeper是通过java开发的,所以的运行需要依赖JAVA环境,安装zookeeper之前,先安装JDK。 一、安装JDK 1.下载JDK,由于Zookeeper的运行需要依赖jdk1.8以上版本,所以我们下载jdk1.8+就可以了。 wgethttps://repo.huaweicloud.com/java/jdk/8u181-b13/jdk-8u181-linux-x64.tar.gz 复制 2.解压 tar-zxvfjdk-8u181-linux-x64.tar.gz 复制 3.由于我们本次的实验都是在/data下完成,所以将jdk文件夹移动到/data下。 mvjdk1.8.0_181//data 复制 4.设置环境变量 vi/etc/profile.d/java.sh #setjavaenv exportJAVA_HOME=/data/jdk1.8.0_181 exportJRE_HOME=${JAVA_HOME}/jre exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib exportPATH=${J

  • 组合数计算-java

    排列组合是计算应用经常使用的算法,通常使用递归的方式计算,但是由于n!的过于大,暴力计算很不明智。一般使用以下两种方式计算。 一,递归的思想:假设m中取n个数计算排列组合数,表示为comb(m,n)。那么comb(m,n)=comb(m-1,n-1)+comb(m-1,n) 解释思想,从m个球中取出n个球可以分成两种情况相加,从m个球中取出一个球,如果它属于n,还需要从m-1中取出n-1个球;如果它不属于n,则需要从m-1中取出n个球 根据这种思想可以通过递归的思想计算组合数: privatestaticlongcomb(intm,intn){if(n==0) return1; if(n==1) returnm; if(n>m/2) returncomb(m,m-n); if(n>1) returncomb(m-1,n-1)+comb(m-1,n);    return-1;//通过编译需要,数字无实际意义}复制 适用递归计算,当数字较大时,递归深度过深,会相对耗时,甚至堆栈溢出。如果对性能有要求,可以建立键-值对,存储计算结果,防止,反复计算。 staticMap&

  • 如何彻底卸载不需要的Mac屏保

    来源macw:https://www.macw.com/ 想知道怎么删除Mac电脑屏保吗?该怎么删除不喜欢的屏保呢?可能很多新接触mac电脑的小伙伴不是很熟悉,本次小编为您带来几种彻底卸载Mac屏保的方法,想知道的小伙伴千万不要错过哦! 方法一: 大部分屏保可以直接在屏保设置页面删除,打开系统偏好设置 - 桌面与屏幕保护程序 - 屏幕保护程序,选中想要删除的屏保,单击右键,点击删除即可。 方法二: 有些屏保无法通过方法一删除,因为它的源文件被放在隐藏的资源库中,需要手动删除。 1、打开访达(Finder),点击前往—资源库 2、打开资源库 - ScreenSavers,选中ScreenSavers文件夹里面的 .saver文件,右键移到废纸篓即可。 方法三: 也有些屏保的安装位置不在上面那个隐藏的资源库里面,而是在你的硬盘 - 资源库 - ScreenSaver文件夹中,同理选中它们,右键移到废纸篓即可。 方法四: 还有一些屏保是以单独的App存在的,你可以在启动台里面

  • 站立会议08(冲刺二)

    一、站立会议   二、任务分配及任务总结    成员      任务认领           遇到问题        李萌  中文字符显示问题的解决  服务器数据库问题已解决、显示出现了小问题    于磊  数据库的优化设计及实现  优化数据库需要重新再了解下原有数据库      王楗  中文字符显示问题的解决 服务器数据库问题已解决、显示出现了小问题      张勋         知识圈页面布局调整  布局逻辑有问题、不合理 三、任务看板   四、燃尽图  

  • 【vscode】在vscode添加python运行终端run code

    1:点击“扩展”按钮输入'runcode'找到插件点击“安装”即可 2:安装好后编辑好python文件后鼠标“右击”会有一个“RunCode"选项,选择就可以运行python文件了。  

  • Mysql数据库事件使用与示例

    1事件简介   事件(event)是MySQL在相应的时刻调用的过程式数据库对象。一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”。   事件和触发器类似,都是在某些事情发生的时候启动。当数据库上启动一条语句的时候,触发器就启动了,而事件是根据调度事件来启动的。由于他们彼此相似,所以事件也称为临时性触发器。    事件取代了原先只能由操作系统的计划任务来执行的工作,而且MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精确到每分钟执行一次。 2事件的优缺点  2.1优点    一些对数据定时性操作不再依赖外部程序,而直接使用数据库本身提供的功能。   可以实现每秒钟执行一个任务,这在一些对实时性要求较高的环境下就非常实用了。    2.2缺点  定时触发,不可以调用。 3&

  • oracle触发器使用总结

    永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! oracle触发器使用总结 1.说明 1)触发器是一种特殊的存储过程,触发器一般由事件触发并且不能接受参数,存储器由语句块去调用 2)触发器分类:   1.DML触发器:创建在表上,由DML事件引发   2.insteadof触发器:创建在视图上并且只能在行级上触发,用于替代insert,delete等操作(由于oracle中不能直接对有两个以上的表建立的视图进行DML操作,所以给出替代触发器,它是专门为进行视图操作的一种处理方法)   3.DDL触发器:触发事件时数据库对象的创建和修改   4.数据库事件触发器:定义在数据库或者模式上,由数据库事件触发 3)组成:    1.触发事件:引发触发器被触发的事件 DML语句(INSERT, UPDATE, DELETE语句对表或视图执行数据处理操作)、DDL语句(如CREATE、ALTER、DROP语句在数据库中创建、修改、删除模式对象)、数据库系统事件        (如系统启动或退出、异常错误)、用户事件(如登录或退出数据

  • C# 事件总线 EventBus(转载)

    原文地址:https://www.cnblogs.com/MuNet/p/8546362.html 1.引言 事件总线这个概念对你来说可能很陌生,但提到观察者(发布-订阅)模式,你也许就很熟悉。事件总线是对发布-订阅模式的一种实现。它是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需要相互依赖,达到一种解耦的目的。 我们来看看事件总线的处理流程: 了解了事件总线的基本概念和处理流程,下面我们就来分析下如何去实现事件总线。 2.回归本质 在动手实现事件总线之前,我们还是要追本溯源,探索一下事件的本质和发布订阅模式的实现机制。 2.1.事件的本质 我们先来探讨一下事件的概念。都是读过书的,应该都还记得记叙文的六要素:时间、地点、人物、事件(起因、经过、结果)。 我们拿注册的案例,来解释一下。用户输入用户名、邮箱、密码后,点击注册,输入无误校验通过后,注册成功并发送邮件给用户,要求用户进行邮箱验证激活。 这里面就涉及了两个主要事件: 注册事件:起因是用户点击了注册按钮,经过是输入校验,结果是是否注册成功。 发送邮件事件:起因是用户使用邮箱注册成功需要验证邮箱,经过是邮件

  • 最大的最大公约数-暴力筛

    题目:https://vjudge.net/contest/389321#problem/D 题意: 给出N个正整数,找出N个数两两之间最大公约数的最大值。例如:N=4,4个数为:9152516,两两之间最大公约数的最大值是15同25的最大公约数5。 第1行:一个数N,表示输入正整数的数量。(2<=N<=50000)第2-N+1行:每行1个数,对应输入的正整数.(1<=S[i]<=1000000) 参考题解:https://blog.csdn.net/qq_28954601/article/details/52104446 题解:用桶来存每一个数,并且记录最大值为big。然后从假设最大因子i从big到1,对于每次假设,寻找ni的个数,如果大于等于2说明最大因子必为i。   我刚开始看到参考题解的时候,第一反应:这居然不会超时咩? 后来算了一下,对于每个i,它一共执行big/i次。 那么对于最大的情况,big为1000000,那么i从1000000到1,一共执行(1000000/1+1000000/2+...+1000000/1000000)次。用程序算

相关推荐

推荐阅读