使用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.mzph.cn/news/670631.shtml

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

相关文章

算法效率的度量-时间空间复杂度

常对幂指阶 1.时间复杂度 事前预估 算法 时间开销 T(n) 与 问题规模 n 的关系( T 表示 “ time ”) 一般默认问题规模为n。 1.单循环 2.嵌套两层循环都为n 3.单层循环指数递增型 4.搜索型 链接 :第七章查找算法!&#xff01…

【力扣】整数反转,判断是否溢出的数学解法

整数反转原题地址 方法一:数学 反转整数 如何反转一个整数呢?考虑整数操作的3个技巧: xmod10可以取出x的最低位,如x123,xmod103。x/10可以去掉x的最低位,如x123,x/10,x12。xx*10…

IntelliJ IDE 插件开发 | (六)内部模式的使用

系列文章 IntelliJ IDE 插件开发 |(一)快速入门IntelliJ IDE 插件开发 |(二)UI 界面与数据持久化IntelliJ IDE 插件开发 |(三)消息通知与事件监听IntelliJ IDE 插件开发 |(四)来查收…

PCB正片和负片的区别与使用

PCB正片和负片的区别与使用 简单解释详细解释 简单解释 简单的来说,正片在电路板的表面(指定是顶层和底层)上保留我们绘图工具所画的线(图案)。 而负片则是将我们绘制的线(图案)进行腐蚀掉&am…

leetcode1079:游戏玩法分析——求留存率

求留存率 题目描述题解 题目描述 表:Activity --------------------- | Column Name | Type | --------------------- | player_id | int | | device_id | int | | event_date | date | | games_played | int | --------------------- (player_id&…

JIT逆优化引发的Java服务瞬时抖动 问题排查解决方案

目录 一、背景 二、前期排查(失败) 三、使用神器JFR 四、学习JIT&思考解决方案 五、最终的解决方案 五、总结 一、背景 我们有一个QPS较高、机器数较多的Java服务;该服务的TP9999一般为几十ms,但偶尔会突然飙升至数秒&a…

OnlyOffice:释放无限创意,打造高效协作新体验

Onlyoffice 💖前言一、💫开发者版本介绍二、💫开发者版本特点三、💫最新版重磅来袭,8.0版本介绍1.显示协作者头像2.插件 UI 界面更新 四、✨Windows部署ONLYOFFICE1.安装Erlang2.安装RabbitMQ3.安装Redis4.安装Postgre…

CSS:两列布局

两列布局是指一列宽度固定&#xff0c;另一列自适应。效果如下&#xff1a; HTML: <div class"container clearfix"><div class"left"></div><div class"right"></div> </div>公共 CSS&#xff1a; .con…

Elasticsearch:BM25 及 使用 Elasticsearch 和 LangChain 的自查询检索器

本工作簿演示了 Elasticsearch 的自查询检索器将非结构化查询转换为结构化查询的示例&#xff0c;我们将其用于 BM25 示例。 在这个例子中&#xff1a; 我们将摄取 LangChain 之外的电影样本数据集自定义 ElasticsearchStore 中的检索策略以仅使用 BM25使用自查询检索将问题转…

【Vue】指令之列表循环、表单元素绑定

Vue指令[3] 列表循环、表单元素绑定v-for指令v-model指令 列表循环、表单元素绑定 v-for指令 作用&#xff1a;根据数据生成列表结构 数组经常和v-for结合使用数组长度的更新会同步到页面上面&#xff0c;是响应式的 语法&#xff1a;(item,index) in 数据&#xff0c;其中…

2023 OpenHarmony 年度运营报告

汇聚 70 家企业 6700名贡献者力量&#xff0c; OpenHarmony 已成为下一代智能终端操作系统根社区&#xff1b; 我们在成长,OpenHarmony 项目群成员单位增至 35 家&#xff1b; 2023 年持续迭代更新 6 个版本及 OpenHarmony4.0 重点特性简介……

Stable Diffusion 模型下载:RealCartoon3D - V14

文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十下载地址模型介绍 RealCartoon3D 是一个动漫卡通混合现实风格的模型,具有真实卡通的 3D 效果,当前更新到 V14 版本。 RealCartoon3D 是我上传的第一个模型。我仍在学习这些东西,但…

计算机毕业设计 基于SpringBoot的线上教育培训办公系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

C语言数组练习以及场景练习题

写了那么久的知识点梳理&#xff0c;今天来写点自己觉得不错的练习题来分享&#xff0c;顺便来巩固自己的知识点&#xff0c;和加强题型的解决方法的记忆。今天给大家带来的有数组的找数字题目&#xff0c;以及场景找凶手的题目&#xff0c;下面让我们来看看今天的第一道题目。…

进程间通信:有名管道

如果读端关闭&#xff0c;写端继续向管道内写数据将会导致管道破裂&#xff0c;内核将会发送信号SIGPIPE到进程中&#xff0c;该信号的默认处理方式为结束进程&#xff1b; 如果写端关闭&#xff0c;读端继续从管道中读取数据将会读不到任何数据&#xff1b; 管道文件的大小固定…

Linux基础-磁盘

1.磁盘分区 1.分区有固定大小 2.直接写在这块盘的磁盘分区表中&#xff08;DPT&#xff09;&#xff0c;和上面装什么操作系统没有任何关系 2.每一个磁盘分区都要先有一个磁盘分区类型 GPT&#xff08;首选&#xff09; MBR 3.磁盘专业术语叫做块设备&#xff08;Block Dev…

洗地机哪个质量好?2024洗地机选购推荐

地面清洁作为大扫除的重要部分&#xff0c;看似简单&#xff0c;却也让很多人头疼。地板上的奶渍、厨房的油渍酱渍……遇到顽固污渍&#xff0c;普通的清洁工具很难去除&#xff0c;即便用湿抹布勉强去除&#xff0c;也会残留不少水渍&#xff0c;只能反复擦拭&#xff0c;费时…

行业科普应用分享 | 用于安全和安保的仪器仪表

【前言】 物联网带来了对安全和安保的新要求。利用物联网&#xff0c;运营商可以从复杂和分布式的装置中获益。此外&#xff0c;自主系统在现代工业的运作中正变得越来越重要。 从制造业到农业&#xff0c;这些远程操作需要仪器提供持续监测&#xff0c;以提供安全和保障。这…

MySQL学习记录——사 表结构的操作

文章目录 1、创建表2、查看表结构3、改变表结构4、删除表5、总结 1、创建表 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎; 例子 create table users ( id int, name varchar(20) c…

计算机设计大赛 深度学习+opencv+python实现昆虫识别 -图像识别 昆虫识别

文章目录 0 前言1 课题背景2 具体实现3 数据收集和处理3 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数&#xff1a;2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 4 MobileNetV2网络5 损失函数softmax 交叉熵5.1 softmax函数5.2 交叉熵损失函数 6 优化器SGD7 学…