读取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)

 

posted @ 2021-04-08 17:49  jerrygogo  阅读(216)  评论(0编辑  收藏  举报