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