Skip to content

shawnyangdx/csv2pb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

csv2pb - 表格转protobuf工具

一个轻量的转表工具,csv转protobuf。支持命令行导出多种语言。

环境

python版本:3.10.1以上,https://www.python.org/downloads/ protobuf版本:4.21.6 如无pb环境,在命令行中执行下列指令:

pip install protobuf==4.21.6

目录

├─complier protocol buffer compiler。官方地址:'https://developers.google.com/protocol-buffers/docs/downloads' ├─csv 表格目录 ├─data 序列化数据,即表格二进制pb数据。后缀.dat ├─src 源码(python) ├─Tools 一些不同应用场景的工具集或环境

命令行

python table_convert.py TARGET_API

注意配置好python的环境变量 ,并保证执行目录在src根目录 TARGET_API: 编译pb语言类型。执行时会根据传人的命令行参数,编译对应的pb版本。并创建同名文件夹。 目前已支持的语言: https://developers.google.com/protocol-buffers/docs/pythontutorial

cpp
csharp
dart
go
python

表格配置相关

例子:(请参考csv目录下的Beginer.csv)

名称(#name) A B C D_0 D_1 D_2
数据类型(#type) int float string int int int
CSType(服务器类型#cstype) 1 1 1 .... .... ....
配置(备注#config) 整形 浮点 字符串 列表1 列表2 列表3
数据 .... .... .... .... .... ....
.... .... .... .... .... .... ....

名称: 参数名称,在逻辑中调用。 根据名称配置不同生成列表等数据结构。 数据类型:

基本类型 描述
int 整形
float 浮点
string 字符串
bool 波尔值
double 浮点

CSType: 区分服务器客户端或共用,过滤无用字段。(目前还未实现)

其他

  • 可以注释行,在行最开始使用'#'
  • 可以注释列,在表头字段名称前使用'#'

ChangeLog

v1.1.0:

  • 调整导出的message结构

v1.0.4:

  • 添加launch.json配置文件,debug模式调整到src目录
  • 清理pycache文件

v1.0.3:

  • 增加注释列,在表头字段前使用#
  • client-server字段如果遗漏了配置,默认为"cs",同时会给出提示

v1.0.2:

  • 修改pb结构,repeated替换为map
  • 表格结构修改,表头添加“描述”行,指定key值。
  • client-server字段配置描述修改:改为更直观的"cs"

v1.0.1:

  • 使用py内置csv模块,处理逗号问题
  • 转表出现异常,在运行开始清理临时文件
  • 序列化字符串为protobuf的bytes

About

转表工具,csv转protobuf生成数据

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published