【发布时间】:2019-04-03 19:05:33
【问题描述】:
我的代码将 Excel 文件转换为 JSON 文件,然后 JSON 文件访问 API 以在我的应用程序中创建请求。
我的 JSON 输出如下所示:
{
"data": [
{
"requestedStart": "2018-11-16",
"requestedComplete": "2018-11-18",
"location": "Test",
"equipment": "Test",
"switchID": 1
},
{
"requestedStart": "2018-11-23",
"requestedComplete": "2018-11-25",
"location": "Test",
"equipment": "Test",
"switchID": 1
}
]
}
我的代码:
def json_from_excel():
excel_file = 'test.xlsx'
jsonfile = open('ExceltoJSON.json', 'w')
data = []
loaddata = OrderedDict()
workbook = xlrd.open_workbook(excel_file)
worksheet = workbook.sheet_by_name('testExceldata')
sheet = workbook.sheet_by_index(0)
for j in range(0, 6):
for i in range(1, 4):
temp = {}
temp["requestedStart"] = (sheet.cell_value(i, 0))
temp["requestedComplete"] = (sheet.cell_value(i, 1))
temp["location"] = (sheet.cell_value(i, 2))
temp["equipment"] = (sheet.cell_value(i, 3))
temp["switchID"] = (sheet.cell_value(i, 4))
data.append(temp)
loaddata['data'] = data
json.dump(loaddata, jsonfile, indent=3, sort_keys=False)
jsonfile.write('\n')
return loaddata
if __name__ == '__main__':
data = json_from_excel()
AUTH_HEADERS = {
'Token': '5ab15b5a66',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
s = requests.session()
s.headers = AUTH_HEADERS
data = json.dumps(dict(data))
print (data)
url = 'https://myurl/external/api/v1/Request'
result = s.post(url, data=data, verify=False)
print(result.text)
s.close()
但我的 API 一次只能接受一个对象。所以我想创建一个循环,这样程序将采用第一个对象,即
{
"requestedStart": "2018-11-16",
"requestedComplete": "2018-11-18",
"location": "Test",
"equipment": "Test",
"switchID": 1
}
然后点击 API 创建请求,然后返回获取第二个对象并点击 API,以此类推。
如何创建这样的循环?
【问题讨论】:
标签: json python-3.x api