python读取excel表并把数据转存为字典

时间:2024-03-02 15:09:26

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