[excel与dict] python 读取excel内容并放入字典、将字典内容写入 excel文件

news/2024/2/28 2:08:52

一 读取excel内容、并放入字典

1 读取excel文件

import pandas as pdfile_path = '/cluster/home3/zjc/Code/COD/BGNet_My/Dy_BGNet_master/openpyxl-light.xlsx' 读取excel raw_data = pd.read_excel(file_path, header=0)  # header=0表示第一行是表头,就自动去除了
print(raw_data)  # 读取到的结果如下
'''
读取excel
(Pdb) raw_datanum                                            name       wfm
0        0            COD10K-CAM-1-Aquatic-1-BatFish-2.png  0.899108
1        1            COD10K-CAM-1-Aquatic-1-BatFish-4.png  0.885333
2        2            COD10K-CAM-1-Aquatic-1-BatFish-5.png  0.899334
3        3            COD10K-CAM-1-Aquatic-1-BatFish-6.png  0.503472
4        4  COD10K-CAM-1-Aquatic-10-LeafySeaDragon-416.png  0.422056
...    ...                                             ...       ...
2021  2021            COD10K-CAM-5-Other-69-Other-5051.png  0.973371
2022  2022            COD10K-CAM-5-Other-69-Other-5059.png  0.745310
2023  2023            COD10K-CAM-5-Other-69-Other-5060.png  0.000198
2024  2024            COD10K-CAM-5-Other-69-Other-5062.png  0.835672
2025  2025            COD10K-CAM-5-Other-69-Other-5063.png  0.982474
'''

2 读取value,舍弃行号

data = raw_data.values # 获取其中内容(num、name、wfm)(舍弃行号)
print(data)
'''
仅展示value,舍弃行号
array([[0, 'COD10K-CAM-1-Aquatic-1-BatFish-2.png', 0.8991082232693329],[1, 'COD10K-CAM-1-Aquatic-1-BatFish-4.png', 0.8853328644290668],[2, 'COD10K-CAM-1-Aquatic-1-BatFish-5.png', 0.8993339821090026],...,[2023, 'COD10K-CAM-5-Other-69-Other-5060.png',0.0001984435470317607],[2024, 'COD10K-CAM-5-Other-69-Other-5062.png', 0.8356721476832216],[2025, 'COD10K-CAM-5-Other-69-Other-5063.png', 0.9824740778028651]],dtype=object)'''

3 读取为字典


dict = {}
for i in range(len(data)):dict[data[i][1]] = data[i][2]print(dict)
'''
将下面数据放入字典
data[0][1]  -> 'COD10K-CAM-1-Aquatic-1-BatFish-2.png'
data[0][2]  ->  0.8991082232693329字典为
dict['COD10K-CAM-1-Aquatic-1-BatFish-2.png']
-> 0.8991082232693329
'''

一 读取excel内容、并放入字典(完整代码)

import pandas as pdfile_path = '/cluster/home3/zjc/Code/COD/BGNet_My/Dy_BGNet_master/openpyxl-light.xlsx'
# r对路径进行转义,windows需要
raw_data = pd.read_excel(file_path, header=0)  # header=0表示第一行是表头,就自动去除了
print(raw_data)
'''
读取excel
(Pdb) raw_datanum                                            name       wfm
0        0            COD10K-CAM-1-Aquatic-1-BatFish-2.png  0.899108
1        1            COD10K-CAM-1-Aquatic-1-BatFish-4.png  0.885333
2        2            COD10K-CAM-1-Aquatic-1-BatFish-5.png  0.899334
3        3            COD10K-CAM-1-Aquatic-1-BatFish-6.png  0.503472
4        4  COD10K-CAM-1-Aquatic-10-LeafySeaDragon-416.png  0.422056
...    ...                                             ...       ...
2021  2021            COD10K-CAM-5-Other-69-Other-5051.png  0.973371
2022  2022            COD10K-CAM-5-Other-69-Other-5059.png  0.745310
2023  2023            COD10K-CAM-5-Other-69-Other-5060.png  0.000198
2024  2024            COD10K-CAM-5-Other-69-Other-5062.png  0.835672
2025  2025            COD10K-CAM-5-Other-69-Other-5063.png  0.982474
'''data = raw_data.values
print(data)
'''
仅展示value,舍弃行号
array([[0, 'COD10K-CAM-1-Aquatic-1-BatFish-2.png', 0.8991082232693329],[1, 'COD10K-CAM-1-Aquatic-1-BatFish-4.png', 0.8853328644290668],[2, 'COD10K-CAM-1-Aquatic-1-BatFish-5.png', 0.8993339821090026],...,[2023, 'COD10K-CAM-5-Other-69-Other-5060.png',0.0001984435470317607],[2024, 'COD10K-CAM-5-Other-69-Other-5062.png', 0.8356721476832216],[2025, 'COD10K-CAM-5-Other-69-Other-5063.png', 0.9824740778028651]],dtype=object)'''dict = {}
for i in range(len(data)):dict[data[i][1]] = data[i][2]print(dict)
'''
将下面数据放入字典
data[0][1]  -> 'COD10K-CAM-1-Aquatic-1-BatFish-2.png'
data[0][2]  ->  0.8991082232693329字典为
dict['COD10K-CAM-1-Aquatic-1-BatFish-2.png']
-> 0.8991082232693329
'''
import pdb
pdb.set_trace()

二、将字典内容写入 excel文件

1

假设已有字典内容为:
即student列表里有4个字典,
第一个字典里面有3对key-value
"num": 1,
"name": "cod1",
"wfm": 0.1

student = [{"num": 1, "name": "cod1", "wfm": 0.1},{"num": 2, "name": "cod2", "wfm": 0.2},{"num": 3, "name": "cod3", "wfm": 0.3},{"num": 4, "name": "cod4", "wfm": 0.4},
]

2 导入Workbook并实力化


from openpyxl import Workbook
workbook = Workbook()

3 激活sheet-设置sheet名-插入标题-

# 默认sheet
sheet = workbook.active  # 激活sheet  
sheet.title = "openpyxl"  # 设置sheet名字
sheet.append(["num", "name", "wfm"])  # 插入标题
for data in student:  # 列表循环读取dictsheet.append(list(data.values()))  
workbook.save("openpyxl.xlsx")

二、将字典内容写入 excel文件(完整代码)

student = [{"num": 1, "name": "cod1", "wfm": 0.1},{"num": 2, "name": "cod2", "wfm": 0.2},{"num": 3, "name": "cod3", "wfm": 0.3},{"num": 4, "name": "cod4", "wfm": 0.4},
]
import pdb
pdb.set_trace()from openpyxl import Workbook
workbook = Workbook()# 默认sheet
sheet = workbook.active  # 激活sheet
sheet.title = "openpyxl"  # 设置sheet名字
sheet.append(["num", "name", "wfm"])  # 插入标题
for data in student:  # 列表循环读取dictsheet.append(list(data.values()))
workbook.save("openpyxl.xlsx")


http://www.ppmy.cn/news/1215308.html

相关文章

(三)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB

一、七种算法(DBO、LO、SWO、COA、LSO、KOA、GRO)简介 1、蜣螂优化算法DBO 蜣螂优化算法(Dung beetle optimizer,DBO)由Jiankai Xue和Bo Shen于2022年提出,该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁…

<MySQL> MySQL中查询(retrieve)数据的基础操作

目录 一、查询(retrieve) 1.1 查询数据的方式概述 二、全列查询 2.1 语法 2.2 操作演示 2.3 全列查询需要慎重使用 三、指定列查询 3.1 语法 3.2 操作演示 四、表达式查询 4.1 语法 4.2 操作演示 4.3 null 参与表达式计算 4.3 表达式查询存…

Ansible playbook详解

playbook是ansible用于配置,部署,和被管理被控节点的剧本 playbook常用的YMAL格式:(文件名称以 .yml结尾) 1、文件的第一行应该以 "---" (三个连字符)开始,表明YMAL文件的开始。    2、在同一…

国企项目就用国产的 Solon Java Framework,v2.5.12 发布

Solon 是什么框架? Java 新的生态级应用开发框架。国产。从零开始构建,有自己的标准规范与开放生态(历时五年,具备全球第二级别的生态规模)。与其他框架相比,解决了两个重要的痛点:启动慢&…

关于我在配置zookeeper出现,启动成功,进程存在,但是查看状态却没有出现Mode:xxxxx的问题和我的解决方案

在我输入:zkServer.sh status 之后出现报错码. 报错码: ZooKeeper JMX enabled by default Using config: /opt/software/zookeeper/bin/../conf/zoo.cfgClient port found: 2181. Client address: localhost. Error contacting service. It is probably not runni…

【AI 编程助手】DevChat 指南:精准控制、简单扩展、多模型选择,助力开发者高效开发

文章目录 一、前言二、认识了解 DevChat2.1 什么是 DevChat2.2 DevChat 优势以及特点2.2.1 精准控制提示上下文2.1.2 简单的扩展机制2.1.3 多种大模型任选 三、构建安装 DevChat3.1 注册 DevChat3.2 DevChat 插件安装指南3.2.1 在 Windows 上安装git(如已安装&#…

基于php+thinkphp的网上书店购物商城系统

运行环境 开发语言:PHP 数据库:MYSQL数据库 应用服务:apache服务器 使用框架:ThinkPHPvue 开发工具:VScode/Dreamweaver/PhpStorm等均可 项目简介 系统主要分为管理员和用户二部分,管理员主要功能包括:首页、个人中心、用户管理、图书分类…

Ubuntu中安装R语言环境并在jupyter kernel里面增加R kernel

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

Linux中使用Shell脚本安装jdk

1,了解安装步骤 (1)进入到server目录 (2)解压jdk压缩包文件 (3)配置JAVA_HOME变量、PATH变量、CLASSPATH变量 (4)要让环境变量立刻生效执行source命令 (5&am…

硬件知识2

原理图的检查: 网络悬浮 单端网络 电源悬浮(电源和地) 重复的位号 网络短路(电源和地) AD里面双击messages里面的错误项会直接进入到原理图和PCB…

【计网 传输层概述】 中科大郑烇老师笔记 (十)

目录 0 引言1 概述1.1 传输服务和协议1.2 传输层 vs 网络层1.3 Internet传输层协议 TCP和UDP 2 多路复用、解复用2.1 UDP的多路复用2.2 TCP的多路复用 3 UDP3.1 概述3.2 UDP报文段3.3 拓展:TCP报文段 🙋‍♂️ 作者:海码007📜 专栏…

FreeRTOS知识梳理

一、RTOS:Real time operating system,中文意思为 实时操作系统,它是一类操作系统,比如uc/OS、FreeRTOS、RTX、RT-Thread 这些都是实时操作系统。 二、移植FreeRTOS到STM32F103C8T6上 interface选择CMSIS_V1,RCC选择Crystal Ceramic Resonator 。 …

RK3568开发笔记-CAN接收发送异常分析

目录 前言 一、CAN通信概述 接收异常分析 发送异常分析

Git-工作流

前言 一、工作流概述二、Git flow1.主要流程2.优缺点3.适用场景 三、Github flow1.主要流程2.优缺点3.适用场景 四、Gitlab flow1.主要流程2.优缺点3.适用场景 总结参考 一、工作流概述 开发人员通过Git可以记录和追踪代码的变化,包括添加、删除和修改文件。如果是…

深度学习模型加载和测试

深度学习模型加载和测试 加载和测试深度学习模型通常涉及以下步骤:模型加载、准备输入数据、进行推理或预测,以及解释结果。 我将使用 TensorFlow 和 Keras 作为示例框架进行说明。请注意,不同的深度学习框架可能有略微不同的API和步骤。 1…

Ansys Electronics Desktop仿真——HFSS线圈寄生电阻,电感

利用ANSYS Electronics Desktop,可在综合全面、易于使用的设计平台中集成严格的电磁场分析和系统电路仿真。按需求解器技术让您能集成电磁场仿真器和电路及系统级仿真,以探索完整的系统性能。 HFSS(High Frequency Structure Simulator&#…

能够定时发送朋友圈的软件

此款软件提供便捷的网页端登录方式,让您轻松管理多个账号,实现多账号聚合管理,只需一个界面即可解决所有问题。 朋友圈内容编辑功能强大,让您在输入框内输入文本内容,点击表情图标选择表情,还能通过“”图标…

ubuntu操作系统的docker更换存储目录

前言 要将Docker的存储目录更改为/home/docker,你需要进行以下步骤: 目录 前言1、停止Docker服务2、创建新的存储目录3、编辑Docker配置文件4、启动Docker服务5、验证更改 1、停止Docker服务 首先停止Docker守护进程,可以使用以下命令&…

2023最新ACL大模型论文分类汇总(有代码的)

1 大模型文化道德 Knowledge of cultural moral norms in large language models url:https://aclanthology.org/2023.acl-long.26/code:https://github.com/AidaRamezani/cultural_inference 2 长文本推理 Open-ended Long Text Generation via Mask…

kubectl 常用命令搜集 —— 筑梦之路

集群信息&#xff1a; 1. 显示 Kubernetes 版本&#xff1a;kubectl version 2. 显示集群信息&#xff1a;kubectl cluster-info 3. 列出集群中的所有节点&#xff1a;kubectl get nodes 4. 查看一个具体的节点详情&#xff1a;kubectl describe node <node-name> 5.…
最新文章