一个将excel表格数据导出成lua配置文件的小工具
祖传导表工具是vba写的,vba代码比较难写不想维护了,怒而用py照着写了一个
#特点
视单元格为最小粒度数据(就是说一般不在单元格内定义复合数据),在表头定义数据结构,解析时需要对表头进行递归解析生成类型树
为了让表格的数据描述能力比较强,又能尽量跟excel结合(在单元格中定义复杂数据,会丧失excel的拉数据功能)
python xls2lua.py <excel文件名> <输出文件名>
python xls2lua.py example/test.xlsx test.lua
python 2
- 每个sheet前三行有效行用作类型定义
- 每个sheet第一列为主键
修饰 | ---|--- 类型 | 名字 |
- 以双反斜杠「//」开头的行将被忽略
- 空白行会被忽略
- int 整形
- number 浮点
- string 字符串
单元格文本会被添加双引号,且遇到「"」「\n」「\r」会自动加斜杠 - bool 布尔
- 0和false会翻译成false,其余值都会翻译成true
- table 单列表
table类型描述的数据将会在首尾添加一对大括号变成这样:「{<单元格内容>}」 - array 数组 以「array<」开始,「>」结束
- dict 字典 以「dict<」开始,「>」结束
- function 函数
function(xxx)类型描述的数据会输出成「function(xxx) return <单元格内容> end」,当中function(xxx)是你列头写的
- unique 不能重复,全局生效
- required 必须有值,只在同一个sheet内生效
- 数组容器的元素名字不需要填写名字
- 其余子项必须填写名字
- 路径
以变量路径为名字的例如「path1.path2.id」,将会从当前解析层级开始依次查找字典容器「path1」、「path2」,在「path2」容器中插入子项「id」
支持多sheet