zoukankan      html  css  js  c++  java
  • Python读取excel文件

    1. 安装xlrd:pip install xlrd
    2. 按要求组装数据:列表形式、字典形式、类的形式
    3. 读取excel代码实现如下
       1 import os
       2 import xlrd
       3 from day08_0325.read_excel.case_info import CaseInfo
       4 
       5 # 列表的方式实现 [ [用例编号,用例名称],[],[] ]   外部一个列表元素一个用例  内部列表就是用例详情
       6 def read_excel_data_convert_case_info(excel_path):
       7     workbook=xlrd.open_workbook(excel_path)#打开excel工作簿
       8     sheet=workbook.sheet_by_index(0)#选择工作表
       9     case_infos=[]
      10     rows=sheet.nrows#确定行数
      11     cols=sheet.ncols#确定列数
      12     for i in range(1,rows):
      13         case_info=[]
      14         for j in range(0,cols):
      15             case_info.append(sheet.cell_value(i,j))
      16         case_infos.append(case_info)
      17     return case_infos
      18 
      19 
      20 # 类的方式实现  用来现实中的事物 描述用例  [CaseInfo(),CaseInfo(),CaseInfo()...]
      21 def read_excel_data_convert_case_info_01(excel_path):
      22     workbook=xlrd.open_workbook(excel_path)
      23     sheet=workbook.sheet_by_index(0)
      24     case_infos_01=[]
      25     for i in range(1,sheet.nrows):
      26         case_id = sheet.cell_value(i,0)
      27         case_name = sheet.cell_value(i,1)
      28         module = sheet.cell_value(i,2)
      29         pri = sheet.cell_value(i,3)
      30         case_step = sheet.cell_value(i,4)
      31         except_result = sheet.cell_value(i,5)
      32         case_info=CaseInfo(case_id,case_name,module,pri,case_step,except_result)
      33         case_infos_01.append(case_info)
      34     return case_infos_01
      35 
      36 
      37 # 字典
      38 # 方式一
      39 # { 'case01':{'case_name': ,'module': ,},'case02':{} }
      40 def read_excel_data_convert_case_info_02(excel_path):
      41     workbook=xlrd.open_workbook(excel_path)
      42     sheet=workbook.sheet_by_index(0)
      43     dict_info = {}
      44     for i in range(1, sheet.nrows):
      45         dict_info[sheet.cell_value(i, 0)] = {'case_name': sheet.cell_value(i, 1),
      46                                              'module': sheet.cell_value(i, 2),
      47                                              'pri': sheet.cell_value(i, 3),
      48                                              'case_step': sheet.cell_value(i, 4),
      49                                              'except_result': sheet.cell_value(i, 5)}
      50     return dict_info
      51 
      52 # 方式二:
      53 # [ {'case_no': ,'case_name': ,} , {'case_no': ,'case_name': ,} ]
      54 def read_excel_data_convert_case_info_03(self):
      55     workbook = xlrd.open_workbook(self.excel_path)
      56     sheet = workbook.sheet_by_index(0)
      57     case_infos_03 = []
      58     for i in range(1, sheet.nrows):
      59         case_info = {}
      60         case_info['case_id'] = sheet.cell_value(i, 0)
      61         case_info['case_name'] = sheet.cell_value(i, 1)
      62         case_info['module'] = sheet.cell_value(i, 2)
      63         case_info['pri'] = sheet.cell_value(i, 3)
      64         case_info['case_step'] = sheet.cell_value(i, 4)
      65         case_info['except_result'] = sheet.cell_value(i, 5)
      66         case_infos_03.append(case_info)
      67     return case_infos_03
      68 
      69 
      70 if __name__=='__main__':
      71     current_path=os.path.dirname(__file__)
      72     excel_path=os.path.join(current_path,'../test_case/case_data.xlsx')
      73     print(read_excel_data_convert_case_info_02(excel_path)['case_01'])

      上面的代码中类CaseInfo代码如下:

      1 class CaseInfo:
      2     def __init__(self, case_id, case_name, module, pri, case_step, except_result):
      3         self.case_id = case_id
      4         self.case_name = case_name
      5         self.module = module
      6         self.pri = pri
      7         self.case_step = case_step
      8         self.except_result = except_result
    4. 运行结果:
  • 相关阅读:
    WinAPI: 钩子回调函数之 GetMsgProc
    WinAPI: 钩子回调函数之 MouseProc
    WinAPI: 钩子回调函数之 CBTProc
    WinAPI: 钩子回调函数之 ShellProc
    WinAPI: 钩子回调函数之 ForegroundIdleProc
    WinAPI: 钩子回调函数之 CallWndProc
    WinAPI: 钩子回调函数之 DebugProc
    WinAPI: 钩子回调函数之 HardwareProc
    CodeIgniter入门案例之简单新闻系统三
    CodeIgniter 类库
  • 原文地址:https://www.cnblogs.com/lvhuayan/p/14130523.html
Copyright © 2011-2022 走看看