读取excel组装入参调用接口,参数为数组格式无法解析,循环内判断只执行一次

python批量读取excel表格数据组成入参调用接口,表格内一列为[]数组格式,读取后变成'[]',调用接口无法识别格式
循环内写了个if条件,但执行一次就不再执行了,如何多次执行循环内判断,或直接正确转换格式

import os
import sys
import json
import io
import xlrd2
import collections
from conf.config_data import *
import requests
import demjson


# import pandas

class Read_excel():
    def read(self):
        wb = xlrd2.open_workbook("C:/Users/庞淑丽/Desktop/case_1.xls")
        sheet = wb.sheet_by_name('case1')
        # print(sheet.cell_value(0,0))

        # 读取某行数据,返回一个列表
     #   row = sheet.row_values(1)
        #  print(row)

        # 读取某列数据,返回一个列表
     #   column = sheet.col_values(0)
        # for i in range(0,3):

        #     if column[i]=='[]':
        #         column[i]=[]
        # print(column)

        dict_key = sheet.row_values(0)
        # print(dict_key)

       # area_dict = collections.OrderedDict()  # 建立有序字典
        # 循环读取多行数据

        for i in range(1, sheet.nrows):
            # for j in range(1,sheet.nrows+1):
            # print(sheet.nrows)
            row = sheet.row_values(i)

            #   print(row)
            if row[i] == '[]':
                row[i] = []


          #  print(row)


            #  print(row)

            url = 'http://123.57.209.78:17075/api/product/list'
            data = dict(zip(dict_key, row))
            data1 = demjson.encode(data)

            TOKEN = 'bearer,eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJpc3N1c2VyIiwiYXVkIjoiYXVkaWVuY2UiLCJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJyb2xlX25hbWUiOiJhZG1pbiIsInBvc3RfaWQiOiIxMTIzNTk4ODE3NzM4Njc1MjAxIiwidXNlcl9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJyb2xlX2lkIjoiMTEyMzU5ODgxNjczODY3NTIwNiIsInVzZXJfbmFtZSI6ImFkbWluIiwibmlja19uYW1lIjoi566h55CG5ZGYIiwiZGV0YWlsIjp7InR5cGUiOiJ3ZWIifSwidG9rZW5fdHlwZSI6ImFjY2Vzc190b2tlbiIsImRlcHRfaWQiOiIxMTIzNTk4ODEzNzM4Njc1MjAxIiwiYWNjb3VudCI6ImFkbWluIiwiY2xpZW50X2lkIjoiYWRtaW4iLCJleHAiOjE2OTQ0ODg2MDEsIm5iZiI6MTY5NDQ4NTAwMX0.ZqZgTDz7ohWM8EttqAVWmKMkayfg7yj_2ZpYXjUwoto'
            HEADERS = {
                'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36',
                'Zz-Auth': TOKEN,
                'Content-Type': 'application/json'
            }

            res = requests.post(url, data=data1, headers=HEADERS)
            # print(data)
            print(data)
            print(res.json())
        # data=json.dumps(dict_key,row)

        # print(dict(zip(dict_key,row)))

if __name__ == "__main__":
    Read_excel().read()


【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

用eval()
它可以将字符串当成有效的表达式来求值,并返回计算结果
所谓表达式就是:eval这个函数会把里面的字符串参数的引号去掉,把中间的内容当成Python的代码,eval函数会执行这段代码并且返回执行结果
简而言之就是 它能帮你把 '[]' 这个字符串类型转变为 [] 列表类型,你可以用type输出看看