当前位置: 首页 > news >正文

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

一 读取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")

相关文章:

  • rt-hwwb前端面试题
  • 【分享】Excel“只读方式”的两种模式
  • 【Python Opencv】Opencv画图形
  • 数据库恢复技术
  • Linux进程间通信之命名管道及SystemV共享内存
  • 2023年09月青少年软件编程(C语言)等级考试试卷(三级)
  • 卡尔曼家族从零解剖-(06) 一维卡尔曼滤波编程实践
  • linux下使用Docker Compose部署Spug实现公网远程访问
  • 短视频矩阵seo系统源码搭建----技术定制化开发
  • MySQL基础知识题目
  • 飞腾ARM UOS编译Qt 5.15.2源码及Qt Creator
  • Python高级语法----使用Python进行模式匹配与元组解包
  • Rust编程中的线程间通信
  • 行业洞察:分布式云如何助力媒体与娱乐业实现创新与增长?
  • 【PC】开发者日志:竞技比赛验证系统强化
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • Apache Zeppelin在Apache Trafodion上的可视化
  • Codepen 每日精选(2018-3-25)
  • ES2017异步函数现已正式可用
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • KMP算法及优化
  • Less 日常用法
  • MQ框架的比较
  • mysql常用命令汇总
  • Python学习之路13-记分
  • Ruby 2.x 源代码分析:扩展 概述
  • Shadow DOM 内部构造及如何构建独立组件
  • Sublime text 3 3103 注册码
  • 阿里云Kubernetes容器服务上体验Knative
  • 多线程事务回滚
  • 免费小说阅读小程序
  • 正则表达式-基础知识Review
  • $forceUpdate()函数
  • (02)vite环境变量配置
  • (java)关于Thread的挂起和恢复
  • (过滤器)Filter和(监听器)listener
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (三)终结任务
  • (转)Google的Objective-C编码规范
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .Net mvc总结
  • .net生成的类,跨工程调用显示注释
  • @取消转义
  • @我的前任是个极品 微博分析
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [2018-01-08] Python强化周的第一天
  • [Android] 240204批量生成联系人,短信,通话记录的APK
  • [Angular] 笔记 16:模板驱动表单 - 选择框与选项
  • [cocos creator]EditBox,editing-return事件,清空输入框
  • [codevs 1515]跳 【解题报告】
  • [GDOUCTF 2023]<ez_ze> SSTI 过滤数字 大括号{等
  • [go] 策略模式
  • [IE编程] 如何编程清除IE缓存
  • [Linux] 一文理解HTTPS协议:什么是HTTPS协议、HTTPS协议如何加密数据、什么是CA证书(数字证书)...