excel表如下:
我们需要通过使用python的xlrd方法先读取excel,再遍历赋值给字典。代码如下:
import xlrd class Read_Ex(): def read_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 in range(col_Num): # 把key值对应的value赋值给key,每行循环 d[key[x]]=values[x] j+=1 # 把字典加到列表中 s.append(d) return s if __name__ == \'__main__\': r = Read_Ex() s=r.read_excel() for i in s: print(i) print(s)
结果如下,分别遍历了列表分行显示以及直接输出。
只需要封装此函数,在需要用到时直接调用即可
调用代码如下:
# -*- coding:UTF-8 -*- import unittest from day_01.ReadExc import Read_Ex class Test(unittest.TestCase): def test001(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