在上篇文章MoonBit国产编程语言读写CSV格式文件-基础篇,介绍了MoonBit读写CSV格式文件的基础,但是没有对读取数据进行处理。下面重点介绍了MoonBit对CSV格式内容的数据处理。
一、MoonBit解析CSV格式内容
1.在MoonBit工程空间文件夹下,打开命令终端,输入moon new read_write_csv创建MoonBit工程。
2.打开MoonBit包管理,在搜索框中手动输入maria/csv_parser
查看详情页。
在命令终端中安装包maria/csv_parser
|
1 2 |
moon add maria/csv_parser |
3.使用VSCode打开新建的read_write_csv工程,打开cmd/main/moon.pkg.json文件,添加解析csv文件的包:maria/csv_parser
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
{ "is-main": true, "import": [ // { // "path": "username/read_write_csv", // "alias": "lib" // }, { "path": "maria/csv_parser" } ] } |
4.使用VSCode打开新建的read_write_csv工程,打开cmd/main/main.mbt文件,主函数main入口文件,添加下面代码:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
///| fn main { //println(@lib.fib(10)) //使用默认设置-默认解析器: // 字段分隔符(默认值:',') // 引号字符(默认值:'"') // 跳过空行(默认值:true) let csv = "student,subject,score\nGaoTian,Math,90\nLiuHao,English,89" let doc = @csv_parser.parse(csv).unwrap() println(doc[0]) println(doc[1]) println(doc[2]) //-------------------------------------------------------- //自定义配置 //使用不同的设置创建自定义解析器: let config : @csv_parser.CsvConfig = { delimiter: '|', quote: '\'', skip_empty_lines: false, } let csv = "student|score\n'TanMei'|86\n\n'Bob'|95" let doc = @csv_parser.parse_with_config(csv, config).unwrap() println(doc.length()) println(doc[0]) println(doc[1]) println(doc[2]) println(doc[3]) } |
编译运行:

打印输出:
|
1 2 3 4 5 6 7 8 |
["GaoTian", "Math", "90"] ["LiuHao", "English", "89"] 4 ["student", "score"] ["TanMei", "86"] [""] ["Bob", "95"] |
二、源码下载
MoonBit解析CSV格式内容