读取excel中的表格数据到字典dict中--python:

工作中需要把excel表格中的数据读取出来放到字典中,便于检索和数据处理

主要有两种常用方式:

1.表头在第一行,其他行都是数据

2.表头在表格的列上,需要把不同列数据组装成字典;


 第一种方式:常用的方式;

1.读取excel表格中的数据到dic中一般两种形式:

表格的第一行都是字段信息,其他都是数据内容,这种居多

上述就是表格中存放的测试数据:把上述数据读取存入字典中

import openpyxl

workbook=openpyxl.load_workbook("./address.xlsx")
sheet=workbook["Sheet1"]
#rows 按照行获取表单中所有的格子,每一行的数据放到一个元祖中
res=list(sheet.rows)

#获取excel表格中的第一行的数据,作为字典的key==》生成一个list列表
title=[i.value for i in res[0]]

#作为每个字典的容器
cases=[]
#遍历第一行意外的所有行
for item in res[1:]:
    #获取每行的数据
    dataline=[i.value for i in item]
    # 把遍历的每行数据与第一行title数据打包成字典
    dicline=dict(zip(title,dataline))
    cases.append(dicline)

print(cases)

 读取数据的结果:

[{'姓名': '张三', '地址': 'xxx地址1', '联系方式': 1111, '备注': None}, 
{'姓名': '李四', '地址': 'xx地址2', '联系方式': 2222, '备注': None}, 
{'姓名': '程咬金', '地址': '山里', '联系方式': 3333, '备注': None}, 
{'姓名': '孙悟空', '地址': '花果山', '联系方式': 66666, '备注': None}]


第二种方式:

把第一列作为字典的key,第二列作为字典的value,这里面注意的点是,要保证表格的第一列数据是独一无二的,保障key的唯一性

 

import openpyxl


mybook=openpyxl.load_workbook("./books.xlsx",data_only=True)
mySheet=mybook.active

#按行获取新书表的单元格(第一行除外--标题,不是数据)
myRows=list(mySheet.values)[1:]

mydics={}
for myRow in myRows:
    mydics[myRow[0]]=myRow[1]

# mybook.save("结果表.xlsx")
print(mydics)

结果:

{'python从入门到实战': 89, 
'django的应用': 67, 
'golang案例大全': 99, 
'golang与容器化': 88, 
'golanglinux下的使用': 67}

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐