zoukankan      html  css  js  c++  java
  • 读取excel/CSV/json数据

    1、读取EXcel数据

    import openpyxl
    
    def excel_to_list(file_name,sheet_name):
        data_list=[]
        #打开Excel
        wb=openpyxl.load_workbook(file_name)
        #获取工作簿
        sh=wb[sheet_name]
        #获取第一行既标题行的值
        row1=(list(sh.rows))[0]
        header=[i.value for i in row1]
        #获取每一行的值
        max_row=len(list(sh.rows))
        for i in range(1,max_row):
            row_i_value=[j.value for j in (list(sh.rows))[i]]
            #将标题和每行数据组装成字典
            d=dict(zip(header,row_i_value))
            data_list.append(d)
        return data_list#每个元素是一个字典
    
    
    def get_test_data(data_list, case_name):
        for case_data in data_list:
            # 如果字典数据中case_name与参数一致
            if case_name == case_data['case_name']:  
                return case_data
                
        
    if __name__=="__main__":
    
        file_name="my_db.xlsx"
        sheet_name="my_tbl"
        data_list=excel_to_list(file_name,sheet_name)
        case_data=get_test_data(data_list,"test_user_login_password_wrong")
        print(case_data)
    {'case_name': 'test_user_login_password_wrong', 'url': 'http://115.28.108.130:5000/api/user/login/', 'method': 'POST', 'headers': '{}', 'data': '{"name": "张三","password":"1234567"}'}

    2、读取CSV数据。

    import csv
    import codecs
    from itertools import islice
    
    data_list=[]
    with codecs.open("my_db.csv","r") as f:
        data=csv.reader(f)
        all_row_value=list(islice(data,0,None))
        header=all_row_value[0]
        for i in range(1,len(all_row_value)):
            d=dict(zip(header,all_row_value[i]))
            data_list.append(d)
    print(data_list)

    3、读取json数据

    import json
    
    with open("data.json","r") as f:
        r=f.read()
    
    print(r)
  • 相关阅读:
    Entity Framework版本历史概览
    读书笔记—CLR via C#章节3
    读书笔记—CLR via C#章节1-2
    C#编程实践–产假方案优化版
    老调重弹--面向对象设计原则--包设计原则
    Redis(七)分布式锁
    Redis(九)高可用专栏之Sentinel模式
    Redis(九)高可用专栏之《简介篇》
    Redis(七)持久化(Persistence)
    Redis(六)管道(Pipelining)
  • 原文地址:https://www.cnblogs.com/yijierui/p/14633598.html
Copyright © 2011-2022 走看看