Python的xlwt库操作表格-将字典数据进行导入一个格

需要存入的数据为:

{
    "所有异常信息": [{
        "异常数据": [{
            "状态": "不正常",
            "步骤名称": "备份数据验证",
            "备注": "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')

执行结束后结果如下图:

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值