• 【Python&实际需求练习----①】exce转json


    需求如题所示,excel转json,加一个数据类型判断。(根据项目实际需求写的,不是很强大)

    放几个网上例子的链接:
    https://blog.csdn.net/joey_2018_/article/details/80650915

    https://www.cnblogs.com/zhenglisai/p/8949984.html

    思路:生成列表→组合列表生成字典→字典转换成json→json格式化保存

    ①读取excel表格内容,每一行成为一个列表

    ②固定字典的键值列表

    1)这里加入了一个判断数据类型

    ③循环与键值列表组合成字典

    ④再把多个字典组合

    ⑤转换成json格式,这里需要使用json模块

    ⑥存在指定的文件夹中


    #思路:列表+列表生成字典,字典再转换成json文件;
    import json
    import xlrd
    
    file = 'C:\Users\14062\Desktop\Test config\Excel\test_levels.xlsx'#excel表格地址
    date = xlrd.open_workbook(file)#打开excel文件
    
    sheet1 = date.sheet_by_name('Sheet1')#读取指定excel表格的sheet1
    sheet1_rows = sheet1.nrows#获取sheet1的有效行数
    #sheet1_cols = sheet1.ncols#获取sheet1的有效列数
    list_key = sheet1.row_values(1)#指定第2行生成列表,该列为字典的key
    list_type = sheet1.row_values(2)#指定第3行生成列表,判断数据类型
    
    temp_array= []#创建一个空的列表
    for row_i in range(3,sheet1_rows):#循环次数 = 有效行数 - 排除的行数
        list_value = sheet1.row_values(row_i)#sheet1每行生成列
        temp_array0=[]
        for i in range(len(list_value)):
            if list_type[i] != 'Number':
                a = str(list_value[i])
            else:
                a = list_value[i]
            temp_array0.append(a)      
        temp_dict = dict(zip(list_key,temp_array0))#每个列表分别和列表key组合生成1个字典
        # c =dict(map(lambda x,y:[x,y],d,h))#方法二:2个列表组合成1个字典
        temp_array.append(temp_dict)
    
    date = json.dumps(temp_array,indent=4,ensure_ascii=False)#格式化显示json文件
    print(date)
    #写入指定文件且保存为json格式
    txt_file = open('C:\Users\14062\Desktop\Test config\Output\test_levels.json','a')
    txt_file.write(date)
    txt_file.close()
  • 相关阅读:
    第九章 监控系统zabbix深入应用监控
    二叉树的迭代遍历
    .NET程序设计实验2
    大数据分析——sklearn模块安装
    C#实现找二维数组中的鞍点
    Javascript——DOM简介
    前端基础——HTML(一)
    Java基础(一)
    前端基础——CSS(一)
    如何配置网络,使内网和WiFi同时使用
  • 原文地址:https://www.cnblogs.com/jason-syc/p/11245432.html
Copyright © 2020-2023  润新知