python3 读excel转Json文件

from xlrd import *

import json

# 参考1-字典、列表转JSON:https://www.cnblogs.com/longchang/p/10904850.html

# 参考2-JSON直接保存到文件:https://www.cnblogs.com/miyatest/p/9603897.html


# 从excel读取数据存放到列表中

def readExcel():

    keyData=[]   # 定义空List,用于保存读到的行数据

    excelBook=open_workbook("data.xlsx")   # 从当前目录读取《data.xlsx》文件

    table=excelBook.sheet_by_name("data")  # 从《data.xlsx》中找名为 data的sheet页

    rowNum=table.nrows  # 获取《data.xlsx》-->data页中 行数

    colNum=table.ncols  # 获取《data.xlsx》-->data页中 列数

    colName=table.row_values(0)   # 取第一行数据,即列名,colName 是个List

    # print(colName)

    if rowNum<=1:

        print("没数据...")   # 如果行数<=1,说明没有数据,因第1行一般定义为列名

    else:

        for i in range(rowNum-1):

            d={}    # 定义空字典,用于存放获取到数据

            values=table.row_values(i+1)   # 获取每行的数据,values最终是个List

            # print(values)

            for x in range(colNum):   #  每个列作为字典的一组数据

                d[colName[x]]=values[x]   #  用colName值作为字典的key,values值作业为字典的value

                # print(d)

            keyData.append(d)   # 读完一行数据保存到字典,再保存到列表

    # print(keyData)

    return keyData   #  全部数据读完并保存到列表后,返回


#  列表转Json

def listToJson():

     keyParam=readExcel()   # 调用从excel读取数据的函数,把数据保存到列表

    CaseConfig=open("CaseConfig.json", mode="w+")    #  创建json文件

    CaseConfig.write('{\n"key":')    # 往json文件中写数据,先写json的格式的{,和模块名

     # 把从excel读取的数据转成Json格式保存入 CaseConfig,indent=4是进行格式化,使json排版好看

    json.dump(keyParam, CaseConfig, indent=4)  

    CaseConfig.write('\n}')   # 往json文件中写数据,写结尾的 },写前先换行

    CaseConfig.close()    # 关闭json文件,必要!!


if __name__ == '__main__':        #  调试调用

    listToJson()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容