使用pandas将excel转成json格式

1.Excel数据

请添加图片描述

2.我们想要的JSON格式

{"0": {"raw_data1": "Sam","raw_data2": "Wong","raw_data3": "Good","layer": "12v1"},"1": {"raw_data1": "Lucy","raw_data2": "Babe","raw_data3": "Pho","layer": "12v2"}
}

3.python实现

  • 用anaconda创建一个独立的python环境
(base)...$ conda create -n excel
  • 切换到excel环境下,默认是在base环境:
(base)...$ conda activate excel
(excel)...$
  • 安装pandas
(excel)...$ conda install pandas

安装好后,pandas会被放在excel的环境里,其他的环境不受影响。

  • 查看当前环境的依赖
(excel)...$ conda list

打开visual studio code,设置python环境

我们这里使用vs code来开发,设置python环境就是选择我们刚刚创建出来的环境,因为只有里面有我们想要用到的依赖,具体设置如下:

点击vs code如下位置,打开设置:
在这里插入图片描述

  • 在弹出来的选项中选择我们刚刚创建的环境就可以完成配置
    请添加图片描述

  • python 代码实现

import pandas as pd
# read excel
xls = pd.read_excel('~/Desktop/Book1.xlsx')
xls.to_json(path_or_buf='book.json', orient='index')

结果如下:
在这里插入图片描述

  • 上面的数据看起来没有那么好看,其实可以格式化一下,python代码实现:
# 导入pandas库
import pandas as pd
# 导入json库的两个工具loads将字符器转成json对象,dumps工具用于格式化
from json import loads,dumps
# 读取excel的数据
xls = pd.read_excel('~/Desktop/Book1.xlsx')
# 将excel数据转成json字符串
json_str = xls.to_json(orient='index')
# 将json字符器转成json对象
parsed = loads(json_str)
# 格式化json对象,所谓格式化就是有缩进换行等格式化的东西
format_data = dumps(parsed,indent=4)
# 将格式化后的数据写入book.json文件
with open('book.json','w') as f:f.write(format_data)

结果是这样的:
请添加图片描述

我们还可以对获得的数据做更多的处理,比如我想将0,1这两个key换成对应的12v1和12v2,那么代码可以这么来写:

import pandas as pd
from json import loads,dumpsxls = pd.read_excel('~/Desktop/Book1.xlsx')
json_str = xls.to_json(orient='index')
parsed = loads(json_str)
# 与上面的程序比,区别只在这里,在格式化前对数据进行修改
# 创建一个字典,相当于java中的Map
dict = {}
# 遍历数据,对数据进行修改,修改后的数据都放在dict里
for key in parsed:k = parsed[key]['layer']dict[k] = parsed[key]
# 对修改后的数据dict进行格式化
format_data = dumps(dict,indent=4)
# 将格式化后的数据写入文件
with open('book.json','w') as f:f.write(format_data)

结果如下:
请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式软件设计方式与方法

1、嵌入式软件与设计模式 思从深而行从简 软件开发,难的不是编写软件,而是编写功能正常的软件。软件工程化才能保证软件质量和项目进度,而设计模式使代码开发真正工程化,设计模式是软件工程的基石。 所谓设计模式就是对常见问题的…

Netflix Mac(奈飞mac客户端) v2.13.0激活版

Clicker for Netflix Mac版是一款适用于Mac的最佳独立Netflix播放器,具有直接从从Dock启动Netflix,从触摸栏控制Netflix,支持画中画等多种功能,让你拥有更好的观看体验。 软件特色 •直接从Dock启动Netflix •从触摸栏控制Netflix…

获取 Github XX项目软件最新版本方法(通过命令行)

场景: 如果我们项目中需要实现某个Github公共软件的最新版本更新 那么获取软件的最新的发布版本就是一个比较重要的工作了 对此,Github提供对外api不需要自己手动填写脚本了 解决方案: 替换黄色字体的项目地址,然后在cmd中执行…

在C++的union中使用std::string(非POD对象)的陷阱

struct和union的对比 union最开始是C语言中的关键字,在嵌入式中比较常见,由于嵌入式内存比较稀缺,所以常用union用来节约空间,在其他需要节省内存的地方也可以用到这个关键字,写一个简单程序来说明union的用途 struc…

面试150 位1的个数 位运算

Problem: 191. 位1的个数 文章目录 思路复杂度Code 思路 👨‍🏫 参考 复杂度 Code public class Solution {// you need to treat n as an unsigned valuepublic int hammingWeight(int n){int res 0;while (n ! 0){res 1;n & n - 1;// 把最后…

Python程序员面试题精选(1)

本文精心挑选了10道Python程序员面试题,覆盖了Python的多个核心领域,包括装饰器、lambda函数、列表推导式、生成器、全局解释器锁(GIL)、单例模式以及上下文管理器等。每道题都附有简洁的代码示例,帮助读者更好地理解和应用相关知识点。 题目…

【漏洞复现】电信网关配置管理系统SQL注入漏洞

Nx01 产品简介 电信网关配置管理系统是一个用于管理和配置电信网络中网关设备的软件系统。它可以帮助网络管理员实现对网关设备的远程监控、配置、升级和故障排除等功能,从而确保网络的正常运行和高效性能。 Nx02 漏洞描述 电信网关配置管理系统存在SQL注入漏洞,攻…

第3节、电机定速转动【51单片机+L298N步进电机系列教程】

↑↑↑点击上方【目录】,查看本系列全部文章 摘要:本节介绍用定时器定时的方式,精准控制脉冲时间,从而控制步进电机速度。 一、计算过程 电机每一步的角速度等于走这一步所花费的时间,走一步角度等于步距角&#xff…

记录 | linux下切换python版本

查看系统中存在的 python 版本 ls /usr/bin/python* 查看系统默认的 python 版本 python --version

探索Web API SpeechSynthesis:给你的网页增添声音

Web API SpeechSynthesis是一项强大的浏览器功能,它允许开发者将文本转换为语音,并通过浏览器播放出来。本文将深入探讨SpeechSynthesis的控制接口,包括其功能、用法和一个完整的JavaScript示例。 参考资料:SpeechSynthesis - Web…

网络基础(三)

网络层与数据链路层 1.网络层2.IP2.1 基本概念2.2 协议头格式2.3 网段划分2.4 特殊的IP地址2.5IP地址的数量限制2.6 私有IP地址和公网IP地址2.7 路由 3.数据链路层4.以太网(MAC帧协议)4.1 认识以太网4.2 以太网帧格式4.3 认识MAC地址4.4 对比理解MAC地址…

[SWPUCTF 2021 新生赛]ez_unserialize

根据下面的user_agent和Disallow可以判断这个是在robots.txt 我们看的出来这是一个反序列化需要我们adminadmin passwdctf construct 构造方法,当一个对象被创建时调用此方法,不过unserialize()时却不会被调用 destruct 析构方法,PHP将在对象…

使用 VTK 中的单元定位器来查找最近的点

开发环境: Windows 11 家庭中文版Microsoft Visual Studio Community 2019VTK-9.3.0.rc0vtk-example demo解决问题:使用 VTK 中的单元定位器来查找最近的点 关键点: 创建了一个球体数据源,并使用它构建了一个单元定位器&#x…

哪些是暴利的行为?合法的暴利行为?哪些行为为极善 相对于极恶?

合法的暴利行为 在讨论暴利的合法行为时,重要的是要区分“暴利”一词通常带有负面含义,指的是通过不正当手段或在不具备公平竞争条件下获得的过高利润。然而,有些行业或商业模式在法律范围内运作,可能因为专利保护、市场垄断、技…

计算机网络——网络

计算机网络——网络 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU)前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家, [跳转到网站](https://www.captainbed.cn/qianqiu) 无线网络和移动网…

[C/C++] -- JSON for Modern C++

JSON for Modern C(nlohmann/json)是一个流行的 C JSON 库,由德国开发者nlohmann编写。这个库提供了简洁而灵活的 API,使得在C中解析和生成JSON数据变得非常方便。 1.JSON简介 JSON(JavaScript Object Notation&…

text-generation-webui搭建大模型运行环境与踩坑记录

text-generation-webui搭建大模型运行环境 text-generation-webui环境初始化准备模型启动项目Bug说明降低版本启动项目 text-generation-webui text-generation-webui是一个基于Gradio的LLM Web UI开源项目,可以利用其快速搭建部署各种大模型环境。 环境初始化 下载…

在容器中使用buildah构建镜像

简介 buildah是一个构建OCI标准镜像的工具,可以用来替代docker build 在常见的linux发行版中可直接通过包管理工具安装使用 # centos yum install buildah# ubuntu/debian apt install buildah# alpine apk add buildah其他发行版安装方法详见 github&#xff0c…

OpenCV-31 获得形态学卷积核

OpenCV提供了获取卷积核的API,不需要我们手动创建卷积核。 通过下面API---getStructuringElement(shape,ksize,[, anchor]) shape是指卷积核的型状,注意不是指长宽,是指卷积核中1形成的形状。MORPH_RECT 卷积核中的1…

【数据分享】1929-2023年全球站点的逐日降水量数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、湿度等指标,说到常用的降水数据,最详细的降水数据是具体到气象监测站点的降水数据! 有关气象指标的监测站点数据,之前我们分享过1929-2023年全…