Python利用pandas读取Excel某列为键某几列为列表类型的值

news2024/9/24 17:34:53

在日常的办公中,我们经常要处理表格之间的数据匹配,会经常用到VLOOKUP函数,那么在Python中可以把VLOOKUP函数转换为字典,在转换成本地json文件,这样不仅可以匹配大批量数据,而且速度也会变快。

今天我们要学习的是,将某一列为键:[某几列的数据为列表类型的值]

如:{“张1”:[60, 61 62 ]}(json文件)

如果是将,excel两列为字典保存为json本地文件再读取,请参考我上一篇博客:

excel两列为字典保存为json本地文件再读取:点我

如下图

在这里插入图片描述

转变成

在这里插入图片描述

话不多说上代码

1:目录结构

json:文件夹——用来存放json文件

测试表:文件夹——用来存放你的Excel表

main.py:主程序

在这里插入图片描述

2、完整代码(满满的注释,保姆级注释)

import pandas as pd
import json
import os


def write_json():
    df2 = pd.read_excel('./测试表/' + os.listdir("./测试表")[0], sheet_name=0, dtype=str, keep_default_na="") # 读取表,第一个sheet,内容为str
    dict_1 = {} # 空字典
    for d in df2.values.tolist(): # 数据转为列表
        k = d[0] # 索引0 为键
        v = d[1:4] # 索引123为值:类型:列表
        dict_1[k] = v # 写入字典
    # for i in dict_1.items():
    #     print(i)
    '''
    ensure_ascii=False:防止中文乱码
    '''
    with open("./json/grade.json", "w", encoding="utf-8") as f:
        f.write(json.dumps(dict_1, ensure_ascii=False)) # 读取字典,写入json


write_json()


def read_json():
    with open("./json/grade.json", "r", encoding="utf-8") as f:
        grade = json.load(f) # 读取json,转为字典
    print("张1 的成绩是:", grade.get("张1"))


read_json()

测试结果

在这里插入图片描述

再次为自己打个广告:excel两列为字典保存为json本地文件再读取:点我

希望对大家有帮助

致力于办公自动化的小小程序员一枚

都看到这了,关注+点赞+收藏=不迷路!!

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

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

相关文章

第二十六讲:神州路由器PPP PAP认证的配置

实验拓扑图如下所示 操作步骤: 步骤1:连接网络拓扑图。 步骤2:RouterA基本配置。 router>enable !进入特权模式 router#config !进入全局配置模式 router_config#hostname RouterA …

移植RT-thread Nano完成一个 modbus接口的温湿度Slave设备,让上位机PC通过modbus协议获取温湿度

文章目录前言一、移植RT-thread Nano1、STM32CubeMX 安装 RT-Thread2、Keil安装RT-Thread二、STM32CubeMX 创建工程1.添加RT-Thread组件2、配置项目三、keil配置1、ANT20配置2、移植freeModebusRTU3、代码配置四、总结五、参考资料前言 硬件:stm32f103c8t6 核心板软…

springcloud+nacos+gateway+oauth2+jwt再相聚

在springcloud微服务架构下,如何进行统一的认证、鉴权,一直是大家非常关心的问题,下面对微服务架构下的认证和鉴权继续聊聊,一是自己的再次思考总结,二是希望对小伙伴有所帮助。 1、方案思路 在springcloud微服务中&am…

React学习08-React Redux

Redux Redux理解 redux是一个专门用于做状态管理的JS库(不是react插件库)。可以用在React, Angular, Vue等项目中, 但基本与React配合使用。作用: 集中式管理React应用中多个组件共享的状态。Redux只负责管理状态 文档 英文文档 中文文档 Github 需要使用Redux的情况…

2023跨年烟花(浪漫烟花+美妙音乐+雪花飘飘)含前端源码直接下载---系列最终篇

2023年快要到来啦,很高兴这次我们又能一起度过~ 特辑最终篇!!! 视觉中国 目录 一、前言 二、跨年烟花 三、效果展示 四、详细介绍 五、编码实现 index.html js 六、获取代码 需要源码,可以私信我(⊙o⊙)&…

【html实现书籍网(未完待续)】

html实现书籍网(未完待续) 前言1.直接下载文件2.简单分析3.后续工作总结前言 最近花了一些时间写了大多只有前端的书籍网,后端仅由flask进行了一下链接的跳转,主要目录有以下: static bootstrapcssfrontimgjslayuitemplates 个人页面.html主界面.html找回密码.html注册页…

Redis客户端框架Redisson

介绍 Redisson是架设在Redis基础上的一个Java驻内存数据网格(In-Memory Data Grid)。 Redisson在基于NIO的Netty框架上,充分的利用了Redis键值数据库提供的一系列优势,在Java实用工具包中常用接口的基础上,为使用者提…

使用Stable Diffusion进行Ai+艺术设计(以智慧灯杆为例)

目录一. 安装环境二. 配置模型2.1 stable diffusion v12.2 运行并测试生成效果Stable Diffusion 是一种以 CLIP ViT-L/14 文本编码器的(非池化)文本嵌入为条件的潜在扩散模型。一. 安装环境 创建并激活一个合适的名为conda的环境:ldm conda…

来自2022的年终总结,迎接新的2023

来自2022的年终总结,迎接新的2023🎉2022🎉🌹CSDN博客数据🌹2022年度也在持续原创博文,累计超过100篇,也收获了很多同学支持付费专栏订阅不断上升,帮助越来越多的同学学习&#x1f33…

java多线程(11):线程同步线程协作

1 线程通信 应用场景 : 生产者和消费者问题 假设仓库中只能存放一件产品 , 生产者将生产出来的产品放入仓库 , 消费者将仓库中产品取走消费 如果仓库中没有产品 , 则生产者将产品放入仓库 , 否则停止生产并等待 , 直到仓库中的产品被消费者取走为止 如果仓库中放有产品 ,…

CSS——结构和布局

1. 自适应内部元素的宽度max-width: min-content; 如果不给元素指定一个具体的 height,它就会自动适应其内容的高度。尝试对width 也实现类似的行为。 使 figure 元素能跟它所包含的图片一样宽(图片的尺寸往往不是固定的),而且是…

win10录屏文件在哪?怎么更改win10录屏保存位置

在我们日常使用的win10电脑是自带录屏的功能的,可以将一些精彩画面录屏下来;当录制完视频后,系统会自动将视频保存起来。那win10录屏文件在哪?怎么更改win10录屏保存位置?今天小编就给大家分享一下如何查看win10录屏文…

智能车|直流电机、编码器与驱动器---驱动器

智能车|直流电机、编码器与驱动器---驱动器驱动器TB6612FNG 电机驱动器TB6612FNG 的主要参数引脚说明驱动器 需要驱动器原因: 改变施加给电机电源极之间的电压来调整转速,手动去改变电压太过于麻烦,可以通过微控制器(单片机&…

ahooks中的核心hook-useRequest(上)

前言 useRequest是一个异步数据管理的hooks,是ahooks Hooks库的核心hook,因为其通过插件式组织代码,大部分功能都通过插件的形式来实现,所以其核心代码行数较少,简单易懂,还可以支持我们自定义扩展功能。可…

基础知识总结

Java 基础 1. JDK 和 JRE 有什么区别? JDK: Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。JRE: Java Runtime Environment 的简称,Java 运行环境,为 Java…

Android App加固原理与技术历程

App为什么会被破-jie入侵 随着黑客技术的普及化平民化,App,这个承载我们移动数字工作和生活的重要工具,不仅是黑客眼中的肥肉,也获得更多网友的关注。百度一下“App破-jie”就有5290万条结果。 ​ 一旦App被破-jie,不…

【图像处理】图像的锐化操作 | 边缘检测sobel算子,拉普拉斯算子,Canny算子| opencv

文章目录前言一、一阶导数算子:sobel算子二、二阶导数算子:拉普拉斯算子三.Canny算子前言 参考视频:opencv教程(跟着视频敲了一遍代码) 参考教材:《数字图像处理基础》 作者:朱虹 一、一阶导数…

【unity笔记】图解 Vector3.SignedAngle()方法的返回值

这个方法可以理解为:“两个向量之间的夹角(有符号的)”。 我会将它想象成:将两个向量都放在坐标原点,一个向量要向哪个方向旋转多少度 才能与另一个向量重合。 于是我在坐标原点放置了两个向量:OB和OA。 …

Java Object 类

Java Object 类是所有类的父类,也就是说 Java 的所有类都继承了 Object,子类可以使用 Object 的所有方法。 Object 类位于 java.lang 包中,编译时会自动导入,我们创建一个类时,如果没有明确继承一个父类,那…

Python采集股票数据信息

前言 今天打算来整整股票,简简单单的采集一些股票数据 对这个有兴趣的就一起来瞧瞧吧 准备 开发环境 & 第三方模块 解释器版本: python 3.8代码编辑器: pycharm 2021.2requests: pip install requests 爬虫pyecharts: pip install pyecharts 数据分析pandas…