excel表如下:
我们需要通过使用python的xlrd方法先读取excel,再遍历赋值给字典。代码如下:
importxlrdclassRead_Ex():defread_excel(self):#打开excel表,填写路径
book = xlrd.open_workbook("../Data/test.xlsx")#找到sheet页
table = book.sheet_by_name("Sheet1")#获取总行数总列数
row_Num =table.nrows
col_Num=table.ncols
s=[]
key=table.row_values(0)#这是第一行数据,作为字典的key值
if row_Num <= 1:print("没数据")else:
j= 1
for i in range(row_Num-1):
d={}
values=table.row_values(j)for x inrange(col_Num):#把key值对应的value赋值给key,每行循环
d[key[x]]=values[x]
j+=1
#把字典加到列表中
s.append(d)returnsif __name__ == '__main__':
r=Read_Ex()
s=r.read_excel()for i ins:print(i)print(s)
结果如下,分别遍历了列表分行显示以及直接输出。
只需要封装此函数,在需要用到时直接调用即可
调用代码如下:
#-*- coding:UTF-8 -*-
importunittestfrom day_01.ReadExc importRead_ExclassTest(unittest.TestCase):deftest001(self):
readExcel=Read_Ex().read_excel()
self.assertEqual(3,int(readExcel[0]["a"])+int(readExcel[0]["b"]))if __name__ == '__main__':
unittest.main#-*- author: Hiro -*-
如有需要可以直接遍历readExcel