强大易用的Excel转Json工具「建议收藏」

强大易用的Excel转Json工具「建议收藏」好久没更新了,最近配置json文件的时候发现以前用的excel转json转换器不好用了,上网找了几个都不能满足需求,于是自己用python写了一个。工具不复杂,使用简单,但能满足几乎所有excel转json的要求了,包括多层嵌套,每一层定制为列表或者字典的输出格式,复杂单元格的定制。转载请注明出处:https://blog.csdn.net/ylbs110/article/details/506…

大家好,又见面了,我是你们的朋友全栈君。

好久没更新了,最近配置json文件的时候发现以前用的excel转json转换器不好用了,上网找了几个都不能满足需求,于是自己用python写了一个。工具不复杂,使用简单,但能满足几乎所有excel转json的要求了,包括多层嵌套,每一层定制为列表或者字典的输出格式,复杂单元格的定制。
转载请注明出处:https://blog.csdn.net/ylbs110/article/details/82755822

ExcelExportTool

简单强大的excel转json的工具

链接

https://github.com/ylbs110/ExcelExportTool

功能说明

  • 使用简单,不需要额外的关联文件
  • 批量处理excel文件
  • 同一个excel文件中可配置多个json并导出
  • 可对excel的sheet配置主从关系来输出任意多级json
  • json的每一级都支持列表和字典配置
  • 可在excel单元格中直接配置列表和字典作为下级内容
  • json可输出为便于阅读的格式化文件或是省空间的字符串文件

工具依赖

使用方法

配置好Config.json后双击ExcelExportTool.bat进行文件转换

Config配置

{ 
     #表头所在的行,可以在前面留出行加注释 "headRow": 2, #是否四舍五入 "round":true #生成的json是否格式化为方便阅读的json格式 "format": true, #是否忽略空值,为真则直接跳过空值项 "ignoreEmpty": true, #放置源文件的目录 "srcFolder": "./excel", #输出json的目录 "destFolder": "./json", } 

Excel配置

  • Excel不能以~开头,否则无法读取

  • sheet名前面加上!则不会被读取

  • 输出json名为sheet名

  • 表格存在主从关系则仅输出主表,从表不会输出,理论上从表可以配置任意多级,主从表位置可以随意调整

  • 没有主从关系的表会单独输出,相当于主表

  • 有主从关系则从表名称作为主表的项,从表数据根据配置输出到该项中(从表为obj类型除外)

  • 表格主从关系配置

    • 主表名称为正常表名,作为最后输出的表名
    • 从表名格式为 从表名~主表名
    • 从表中需要配置对应主表主键的列,表头以开头,可以仅为
  • 可对表名加上修饰符进行输出限定,格式为 表名#修饰符,修饰符可以为:

    • obj:该表的每一项作为单独的对象输出,如果是从表则直接单独将每一条数据作为子项目添加到上级表单中
    • dic:该表以字典的形式输出,每条数据的主键作为字典每一项的key,如果是从表则根据依赖的主表主键合并为字典并以输出到对应主表中
    • 不加限定或其他限定则均默认为列表输出,如果是从表则根据依赖的主表主键合并为列表并以输出到对应主表中
    • 加限定的从表格式为 从表名#修饰符~主表名
  • 表格数据基本配置

    • 键名为空或者健名前加上!则该列不会被读取
    • 主键以*开头,没有主键则默认除映射主表列以外的第一列为主键列
    • 数据类型会自动识别,也可在列名后面可以跟修饰符进行限定,格式为 键名#修饰符
    • 修饰符可以为:
      • int : 如果是数值类型则强制转换为整形
      • float : 浮点型,可通过参数设置小数位数,不设置则原样输出。格式:键名#修饰符#小数位数
      • str : 字符串
      • bool : 0或false输出false,其他输出true
      • date : 输出日期格式
      • obj : 将数据拆分为多个子项来替代当前项,每一项以’|‘分隔,键值对以’:’分隔。例: key1:value1,key2:value2 。作为主键修饰符则该条数据会丢失主键并以第一项作为主键
      • [] : 以列表形式输出内容,列表项以’|’分隔。例: value1,value2,value3
      • {} : 以字典形式输出内容,字典项以’|‘分隔,键值对以’:’分隔。例: key1:value1,key2:value2 。字典无法哈希,故无法作为主键,会报错

例子

详见Sample文件夹

  • sample1主要测试各种数据类型以及一个文件输出多个表
  • sample2主要测试多层嵌套
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/131031.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • booth算法原理的简单化理解「建议收藏」

    booth算法原理的简单化理解「建议收藏」最近,在学习带符号二进制数乘法(multiplicationof signednumbers)时接触到了布思算法(boothalgorithm)。由于是第一次接触,对于其原理却一无所知,书上的解释以及网上的文章不知是自己才疏学浅还本来就是泛泛而谈,没有让我了解其本质。经过长时间的思考分析,最终找到了一种比较简单的理解方法。举一个简单的例子,比如说计算10100001×00111110,

    2022年10月23日
  • CSS Reset(样式重置)

    CSS Reset(样式重置)CSSReset,意为重置默认样式。HTML中绝大部分标签元素在网页显示中都有一个默认属性值,通常为了避免重复定义元素样式,需要进行重置默认样式(CSSReset)。举几个例子:1.淘宝(CSS

  • 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…[通俗易懂]

    红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…[通俗易懂]各位读者,知识无穷而人力有穷,所以,要么改需求,要么找专业人士,要么自己研究。大家可以点赞、收藏、关注、评论我啦、需要完整文件随时联系我或交流哟~!

  • 常见的图像增强方法有_图像中值滤波的算法实现

    常见的图像增强方法有_图像中值滤波的算法实现1.对比度拉升采用了线性函数对图像的灰度值进行变换2.Gamma校正采用了非线性函数(指数函数)对图像的灰度值进行变换这两种方式的实质是对感兴趣的图像区域进行展宽,对不感兴趣的背景区域进行

  • JavaScript数组方法总结

    JavaScript数组方法总结一.JavaScript中创建数组的方式1.使用Array构造函数varcolor=newArray();   注意:括号里面参数可以有参数,若为一个数字,表示该数组的长度,如果为多个数字或者一个(多个)非数字表示的是传递数组中应该包含的值。2.使用数组字面量varcolor=[];二.数组的长度三.数组的方法有数组原型方法,也有从object对象继承来的…

  • pycharm英文读音_pycharm英文界面翻译

    pycharm英文读音_pycharm英文界面翻译使用的是PyCharm2018.3.4代码的自动补全在PyCharm中找到PowerSaveMode选项,将前面的对勾去掉。在左上角File的展开栏的倒数第二行在PyCharm的最右下角有个????的样子(在????旁边),单击点开就可看到PowerSaveMode选项在这个Currentinspectionprofile中可以设置HighlightingLevel即检查代码严格程度。(过多的不…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号