欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

csv转其他语言(lua)代码文件

程序员文章站 2024-03-21 14:22:58
...

CsvSerializable 最后有工程链接

csv转其他语言代码文件

  • 暂时只支持lua

使用方式

打开cmd输入:

>CsvSerializable.exe -in csv -out ../Assets/Lua/Data/Config -t client -lp Data/Config
>pause
  • -in 输入局部路径
  • -out 输出局部路径
  • -inEnc 输入文件编码方式 默认 gb2312
  • -outEnc 输出文件编码 默认 utf-8
  • -t 目标: client|server , 不写默认全部输出
  • -lp lua局部路径

csv文件格式

示例

#头注释
#头注释 可以没有 也可以多行
server client none
id name [email protected]/person des [email protected]:game/[email protected]:game/personType
int string list:int string dic:int-int
ID 名字 英雄名 英雄名备注 英雄类型
10001 lowy 2023丨2024 阿里斯 2023:1丨2024:2

第一列必须是id列,名字为id

首部支持多行头注释

  • 每行以#开头
  • 直至开头不是#为止,都会认为是头注释(配置文件注释)

第一行为目标行

  • 目标行只允许client|server|none或置空
  • client和server用来分割表输出,置空则都会输出
  • none从不输出,用作策划备注(作为enum描述时,会输出为注释)
  • id不能为none
  • id若是client或server,其他列必须相同或为none或置空

第二行为字段名

  • 首先第一列必须是id
  • 字段名只能是字母数字,不能使用下划线_及其他标识符
  • 字段类型为int时,可引用其他文件[email protected]/person
    • 表示这个personId映射到输入文件夹中的game文件夹中的person.csv配置中的id
    • 此时会检查personId是否合理
    • 支持类型中有dic字典类型,所以字典类型在使用时[email protected]:game/[email protected]:game/personType
    • key和value都是可选的

第三行为字段类型

  • 字段支持int float bool string list dic
    • id列必须为int
    • list使用冒号指定类型list:int
    • dic字典使用冒号指定类型key-valuedic:string-int

第四行为注释

  • 没有明确限制

内容格式

  • 数组内容分割使用|,如多个id:1022|1023|1024
  • 字典内容分割使用|,KeyValue使用:,如id2count: 1022:1|1023:3|1024:7
  • 转义字符
    • \,",|,:>>>四个需要转义字符>>>\\,\",\|,\:
    • 其他任意字符都可以被转义,如\h\e\l\l\o = hello
    • 所以如果不确定字符是否可用,可以直接使用\?,肯定会没问题

git路径:git工程