工具
python3
pip install xlrd==1.2.0
excel表配置主要有tablelist标签页和其它内容标签页构成。
tablelist标签页是用来导出其它内容标签页的配置,它包括 目标标签页、描述、导出文件名、导出字段、导出类型
每个记录代表一个导出操作,比如上图中每个标签页分别有两份导出配置记录,分别对应客户端使用和服务器使用, 他们的区别在于导出文件名和导出字段不一样。
tablelist 一共支持三种导出类型 key:array key:map key:value,这三种类型是我自己总结最常用的三种
内容标签页的第一行是列名,第二行是列的类型,这里一共设计了6中类型, 分别是 INT、FLOAT、BOOL、STRING、OBJECT、ANY。前四种类型都很好理解, OBJECT是json类型,它必须是一个合法json ANY是任意类型,它可以是其它5种类型的任意一种,仅适用于key:value类型标签页,ANY类型列中
key:array 是数组结构,它有多个列,每个列属性类型一样,所有列构成一个字典对象,作为数组的一条记录 ,配置表示例如下
导出 test_key_array_s.json 如下:
[
{ "ID":100, "Ratio":0.6, "Reward":[2,3,4], "TaxRatio":{"Ratio":1, "Base":10000} },
{ "ID":101, "Ratio":0.7, "Reward":[3,5,7], "TaxRatio":{"Ratio":1, "Base":10000} },
{ "ID":102, "Ratio":0.5, "Reward":[10,15,20], "TaxRatio":{"Ratio":1, "Base":1000} }
]
key:map 是字典结构,它有多个列,每个列属性类型一样,第一列作为字典的key并且只能是string类型 ,配置表示例如下
导出 test_key_map_s.json 如下:
{
"test001": { "Key":"test001", "Name":"zhangsan", "Age":18 },
"test002": { "Key":"test002", "Name":"lisi", "Age":19 }
}
key:value 是键值对结构,他是一种特殊字典结构,它只有两列,第一列作为key并且只能是string类型,第二列是值,它是任意类型 ,配置表示例如下
导出 test_key_value_s.json 如下:
{
"KEY_INT":100,
"KEY_FLOAT":0.23,
"KEY_BOOL":true,
"KEY_OBJECT_ARRAY":[10,20],
"KEY_OBJECT_DICT":{"Ratio":1, "Base":10000},
"KEY_STRING":"string test",
"KEY_STRING_INT":"100",
"KEY_STRING_FLOAT":"0.23",
"KEY_STRING_BOOL":"true",
"KEY_STRING_OBJECT_ARRAY":"[10,20]"
}
导出json的工具是使用python开发的,脚本 excel2cfg.py,可以直接使用脚本导出
python excel2cfg.py config.xlsx
更方便的方式是使用打包后的二进制文件 excel2cfg.exe 进行导出
excel2cfg.exe config.xlsx
每次输入命令进行转换比较繁琐,这里使用windows批处理来优化,新建一个 convert.bat 文件,内容如下:
@echo off
:: delete all *.json
echo del all *.json
del /s *.json
:: covert config
excel2cfg.exe config.xlsx
pause
然后双击 convert.bat 即可自动转换,你也可以在批处理里加上 拷贝json到客户端及服务器目录,提交到git、svn等等
如果需要对源码进行修改,那么需要安装python3
python脚本打包为exe借助了pyinstaller,这里使用pip安装pyinstaller,之后进行打包
pip install pyinstaller
安装好后就可以使用pyinstaller命令进行打包了
pyinstaller -F excel2cfg.py
这样会在dist目录生成 excel2cfg.exe 可执行文件了
欢迎star,个人博客 https://jinzt.github.io
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型