• python读取Excel,且存入列表中


    cases.xlsx:

    import openpyxl
    
    class ReadExcel(object):
        def __init__(self,filename,sheet_name):
            '''
            :param filename: 文件名 str
            :param sheet_name: sheet名 str
            '''
            self.wb = openpyxl.load_workbook(filename)
            self.sh = self.wb[sheet_name]
    
        def read_case_line(self):
            '''
                读取数据,存入列表中
            :return: list
            '''
            # 按行读取数据,转化为列表
            case_rows = list(self.sh.rows)
            print("按行读取数据:",case_rows)
            #  获取表头
            titles = []
            for title in case_rows[0]:
                titles.append(title.value)
            # print("获取表头:",titles)
            # 存贮用例的空列表
            cases = []
            for case in case_rows[1:]:
                # print("查看列表1:",case)
                # 获取第一条测试用例数据
                data = []
                for cell in case:
                    data.append(cell.value)
                    '''
                        判断单元格是否为字符串,
                        如果是,则用eval()
                        否,则不用eval()
                    '''
                    if isinstance(cell.value,str):
                        data.append(eval(cell.value))
                    else:
                        data.append(cell.value)
                    # 将数据存放到cases中
                    # 将该条数据和表头进行打包组合 dict(list(zip(titles,cases))))
                cases_data = dict(list(zip(titles,data)))
                cases.append(cases_data)
            return cases
    
    if __name__ == '__main__':
        r = ReadExcel("D:TestSoftwarePyCharmPyCharmProjectExceldatacases.xlsx","user_login")
        ds = r.read_case_line()
        for d in ds:
            print(d)
    
    
    

    输出:

    D:TestSoftwareAnaconda3python.exe D:/TestSoftware/PyCharm/PyCharmProject/Excel/case/demo2.py
    按行读取数据: [(<Cell 'user_login'.A1>, <Cell 'user_login'.B1>, <Cell 'user_login'.C1>), (<Cell 'user_login'.A2>, <Cell 'user_login'.B2>, <Cell 'user_login'.C2>), (<Cell 'user_login'.A3>, <Cell 'user_login'.B3>, <Cell 'user_login'.C3>), (<Cell 'user_login'.A4>, <Cell 'user_login'.B4>, <Cell 'user_login'.C4>), (<Cell 'user_login'.A5>, <Cell 'user_login'.B5>, <Cell 'user_login'.C5>), (<Cell 'user_login'.A6>, <Cell 'user_login'.B6>, <Cell 'user_login'.C6>), (<Cell 'user_login'.A7>, <Cell 'user_login'.B7>, <Cell 'user_login'.C7>), (<Cell 'user_login'.A8>, <Cell 'user_login'.B8>, <Cell 'user_login'.C8>), (<Cell 'user_login'.A9>, <Cell 'user_login'.B9>, <Cell 'user_login'.C9>)]
    {'id': 1, 'excepted': 1, 'data': '{"code":0,"msg":"用户名已存在"}'}
    {'id': 2, 'excepted': 2, 'data': '{"code":0,"msg":"l两次密码不一致"}'}
    {'id': 3, 'excepted': 3, 'data': '{"code":1,"msg":"注册成功"}'}
    {'id': 4, 'excepted': 4, 'data': '{"code":0,"msg":"账号和密码必须再6-18位之间"}'}
    {'id': 5, 'excepted': 5, 'data': '{"code":0,"msg":"账号和密码必须再6-18位之间"}'}
    {'id': 6, 'excepted': 6, 'data': '{"code":0,"msg":"账号和密码必须再6-18位之间"}'}
    {'id': 7, 'excepted': 7, 'data': '{"code":0,"msg":"账号和密码必须再6-18位之间"}'}
    {'id': 8, 'excepted': 8, 'data': '{"code":0,"msg":"账号和密码必须再6-18位之间"}'}
    
    Process finished with exit code 0
    
  • 相关阅读:
    ssh出错 sign_and_send_pubkey: signing failed: agent refused operation
    使用dd命令制作U盘启动盘wodim刻录光盘cd dvd
    Python示例项目学习
    Python知乎上推荐的项目
    Python10大热门项目
    Python开源项目Top30
    Python适合练手的项目
    Python80个练手项目列表
    Python爬虫实例项目
    Python实例100个(基于最新Python3.7版本)
  • 原文地址:https://www.cnblogs.com/c-jw/p/14380018.html
Copyright © 2020-2023  润新知