需要存入的数据为:
{
"所有异常信息": [{
"异常数据": [{
"状态": "不正常",
"步骤名称": "备份数据验证",
"备注": "None",
"时间": "None"
}, {
"状态": "不正常",
"步骤名称": "拨打电话测试",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "机房环境监控",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "服务器组是否报警",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "值班电话转移",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "调度前检查",
"备注": "1",
"时间": "2018-10-31"
}, {
"状态": "不正常",
"步骤名称": "本币外币系统批量",
"备注": "1",
"时间": "2018-11-01"
}, {
"状态": "不正常",
"步骤名称": "调度前检查",
"备注": "1",
"时间": "2018-11-02"
}],
"操作人": "数据2",
"报表时间": "2018-10-31"
}, {
"异常数据": [{
"状态": "不正常",
"步骤名称": "备份数据验证",
"备注": "None",
"时间": "None"
}, {
"状态": "不正常",
"步骤名称": "拨打电话测试",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "机房环境监控",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "服务器组是否报警",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "值班电话转移",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "调度前检查",
"备注": "1",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "本币外币系统批量",
"备注": "1",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "调度前检查",
"备注": "1",
"时间": "2018-11-01 00:59:00"
}, {
"状态": "不正常",
"步骤名称": "票据系统换日前",
"备注": "1",
"时间": ""
}],
"操作人": "哈哈哈",
"报表时间": "2018-11-01"
}, {
"异常数据": [{
"状态": "不正常",
"步骤名称": "备份数据验证",
"备注": "None",
"时间": "None"
}, {
"状态": "不正常",
"步骤名称": "拨打电话测试",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "机房环境监控",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "服务器组是否报警",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "值班电话转移",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "本币外币系统批量",
"备注": "abc",
"时间": "2018-11-02 01:59:00"
}, {
"状态": "不正常",
"步骤名称": "调度前检查",
"备注": "abc",
"时间": "2018-11-02 23:00:00"
}, {
"状态": "不正常",
"步骤名称": "票据系统换日前",
"备注": "abc",
"时间": "2018-11-02 23:00:00"
}],
"操作人": "备注1",
"报表时间": "2018-11-02"
}, {
"异常数据": [{
"状态": "不正常",
"步骤名称": "备份数据验证",
"备注": "None",
"时间": "None"
}, {
"状态": "不正常",
"步骤名称": "拨打电话测试",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "机房环境监控",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "服务器组是否报警",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "值班电话转移",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "本币外币系统批量",
"备注": "789",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "调度前检查",
"备注": "789",
"时间": "2018-11-02 23:58:00"
}, {
"状态": "不正常",
"步骤名称": "票据系统换日前",
"备注": "789",
"时间": ""
}],
"操作人": "11-03",
"报表时间": "2018-11-03"
}, {
"异常数据": [{
"状态": "不正常",
"步骤名称": "拨打电话测试",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "机房环境监控",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "服务器组是否报警",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "值班电话转移",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "本币外币系统批量",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "调度前检查",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "票据系统换日前",
"备注": "None",
"时间": ""
}],
"操作人": "备注",
"报表时间": "2018-11-05"
}, {
"异常数据": [{
"状态": "不正常",
"步骤名称": "备份数据验证",
"备注": "None",
"时间": "None"
}, {
"状态": "不正常",
"步骤名称": "拨打电话测试",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "机房环境监控",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "服务器组是否报警",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "值班电话转移",
"备注": "None",
"时间": ""
}, {
"状态": "不正常",
"步骤名称": "理财资管批量",
"备注": "4",
"时间": "2018-11-20 15:30:04"
}, {
"状态": "不正常",
"步骤名称": "本币外币系统批量",
"备注": "2",
"时间": "2018-11-20 15:30:01"
}, {
"状态": "不正常",
"步骤名称": "调度前检查",
"备注": "1",
"时间": "2018-11-20 15:29:59"
}, {
"状态": "不正常",
"步骤名称": "票据系统换日前",
"备注": "3",
"时间": "2018-11-20 15:30:03"
}, {
"状态": "不正常",
"步骤名称": "信贷系统换日前",
"备注": "5",
"时间": "2018-11-20 15:30:07"
}],
"操作人": "111111111111111",
"报表时间": "2018-11-20"
}, }]
}
代码操作如下:
wb = xlwt.Workbook(encoding='utf-8') # 开始创建excel # style = xlwt.XFStyle() # 初始化样式 # style.alignment.wrap = 1 # 自动换行 LST_test = wb.add_sheet('test', cell_overwrite_ok=True) # excel中的表名 wid1 = LST_test.col(0)#设置第一个格的宽度 wid1.width = 80 * 80 wid2 = LST_test.col(1)#设置第二个格的宽度 wid2.width = 80 * 80 LST_test.write(0, 0, '操作人') # 列名 LST_test.write(0, 1, '报表时间') LST_test.write(0, 2, '异常信息(按照状态,名字,备注,时间格式显示)') row = 1 for i in abnormal_data: for key, value in i.items(): if key == "操作人": LST_test.write(row, 0, value) elif key == "报表时间": LST_test.write(row, 1, value) elif key == "异常数据": w = 2 # 根据异常的条数进行不断的往后加数据 for j in value: # 对列表中字典的数据进行存入 str1 = '' l1 = list(j.keys())[0] + ":" + list(j.values())[0] l2 = list(j.keys())[1] + ":" + list(j.values())[1] l3 = list(j.keys())[2] + ":" + list(j.values())[2] l4 = list(j.keys())[3] + ":" + list(j.values())[3] str1 += l1 + "," + l2 + "," + l3 + "," + l4 wid3 = LST_test.col(w) wid3.width = 80*256 LST_test.write(row, w, str1) w += 1 row += 1 wb.save('test.xls')
执行结束后结果如下图: