转化Csv,excel到语言相关的文件

介绍了一个开源工具const-data,该工具可以将CSV或Excel文件转换为简单的指定语言的数据格式,并生成特定语言的读取代码。支持的数据类型包括整型、浮点型、字符串、JSON等。
部署运行你感兴趣的模型镜像


代码地址:https://github.com/neoliang/const-data


const-data

const-data is a free, open source tool, the target of this tool are:

1.convert csv or excel to simple language specified data format.

2.generate language speicfied reading codes

csv or excel format

  1. the first three rows are fixed
  2. the first rows describes data which will be ignored in converting
  3. the second row describes data name in this column
  4. the third row describes data type in this column: validate types are:

    a. int

    b. float

    c. string

    d. json

    e. comment: the comment type of column will be ignored in converting

    f. empty: the type of column of empty type will be int

  5. examples:

    id触发类型触发id奖励备注其它
    idtrigger_typetrigger_idrewardcommentextra
     stringintjsoncommentfloat
    1piece26{"yellow":2}泥土消除奖励0
    2piece27{"diamond:1}钻石消除奖励10.5

    a. the type of id-column is int because it's empty

converting csv file to lua file

#convert one csv file
#in root dir 
cd convert
python ./convert.py -file ../testdata/reward.csv -out_dir ../testdata -if csv -of lua

#convert csv files in dir
python ./convert.py -dir ../testdata -out_dir ../testdata -if csv -of lua

converting csv file to json file

#convert one csv file
#in root dir 
cd convert
python ./convert.py -file ../testdata/reward.csv -out_dir ../testdata -if csv -of json

#convert csv files in dir
python ./convert.py -dir ../testdata -out_dir ../testdata -if csv -of json

converting excel to other files

1.the command line is almost same as convert csv excpe the option -if is excel

2.you must install xlrd using pip as following:

pip install xlrd

command line usage:

  usage: python ./convert.py -if input_format -of output_format -file input_file -out_dir lua_dir
  python ./convert_csv_to_lua.py -if input_format -of output_format -dir csv_dir -out_dir lua_dir

  options:  
    -if:    input file format : csv or excel
    -of:    output file format lua,json
    -dir:     convert files in dir
    -file:    convert file
    -out_dir: the dir of output files
    -h print: this message  


您可能感兴趣的与本文相关的镜像

Seed-Coder-8B-Base

Seed-Coder-8B-Base

文本生成
Seed-Coder

Seed-Coder是一个功能强大、透明、参数高效的 8B 级开源代码模型系列,包括基础变体、指导变体和推理变体,由字节团队开源

### 使用C#将Excel文件转换CSV文件的解决方案 在C#中,可以使用多种方法将Excel文件转换CSV文件。以下提供一种基于`Microsoft.Office.Interop.Excel`库的解决方案,该库允许通过自动化Excel应用程序来读取和写入文件。 #### 方法描述 通过`Microsoft.Office.Interop.Excel`库,可以打开Excel文件并逐行读取数据,然后将其写入CSV文件。以下是具体实现代码: ```csharp using System; using System.IO; using Microsoft.Office.Interop.Excel; class Program { static void Main(string[] args) { string excelFilePath = @"C:\path\to\your\excelFile.xlsx"; string csvFilePath = @"C:\path\to\your\output.csv"; Application excelApp = new Application(); Workbook workbook = excelApp.Workbooks.Open(excelFilePath); Worksheet worksheet = (Worksheet)workbook.Sheets[1]; Range range = worksheet.UsedRange; int rowCount = range.Rows.Count; int colCount = range.Columns.Count; using (StreamWriter sw = new StreamWriter(csvFilePath, false, System.Text.Encoding.UTF8)) { for (int row = 1; row <= rowCount; row++) { string line = ""; for (int col = 1; col <= colCount; col++) { line += ((range.Cells[row, col] as Range).Value2?.ToString() ?? "") + ","; } // 去掉最后一个逗号 if (!string.IsNullOrEmpty(line)) { line = line.Substring(0, line.Length - 1); } sw.WriteLine(line); } } workbook.Close(false); excelApp.Quit(); Console.WriteLine("Conversion completed."); } } ``` #### 注意事项 - 确保安装了Microsoft Excel,并且项目引用了`Microsoft.Office.Interop.Excel`库[^5]。 - 如果需要处理xlsb文件,可能需要额外的库支持,例如`EPPlus`或`ClosedXML`[^6]。 - 上述代码示例假设Excel文件只有一个工作表。如果有多个工作表,需要对`workbook.Sheets`进行遍历[^7]。 #### 替代方案 除了使用`Microsoft.Office.Interop.Excel`外,还可以考虑使用第三方库如`EPPlus`或`ClosedXML`,这些库不依赖于本地安装的Excel软件,适合在服务器环境中运行[^8]。 ```csharp using OfficeOpenXml; using System.IO; class Program { static void Main(string[] args) { string excelFilePath = @"C:\path\to\your\excelFile.xlsx"; string csvFilePath = @"C:\path\to\your\output.csv"; FileInfo fileInfo = new FileInfo(excelFilePath); using (ExcelPackage package = new ExcelPackage(fileInfo)) { ExcelWorksheet worksheet = package.Workbook.Worksheets[0]; int rowCount = worksheet.Dimension.Rows; int colCount = worksheet.Dimension.Columns; using (StreamWriter sw = new StreamWriter(csvFilePath, false, System.Text.Encoding.UTF8)) { for (int row = 1; row <= rowCount; row++) { string line = ""; for (int col = 1; col <= colCount; col++) { line += worksheet.Cells[row, col].Text + ","; } if (!string.IsNullOrEmpty(line)) { line = line.Substring(0, line.Length - 1); } sw.WriteLine(line); } } } Console.WriteLine("Conversion completed."); } } ``` 此代码使用`EPPlus`库,无需依赖Microsoft Excel软件即可完成转换[^9]。 ### 总结 上述两种方法分别适用于不同的场景。如果环境中已经安装了Microsoft Excel,则可以选择`Microsoft.Office.Interop.Excel`;如果需要更轻量级的解决方案,或者在无GUI的服务器环境中运行,则推荐使用`EPPlus`或`ClosedXML`[^10]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值