功能说明:
CSV表格读取
说明:CSV表格读取
--------------------------------------------------------
CSV相关命令
;将文件设置为缓存,某一文件执行此命令后,所有的操作都是缓存操作(不使用缓存命令读取的文件可以实时操作) ;如果不经常更改的情况下建议放在QM的[@Startup]启动触发执行缓存命令,可加快脚本运行速度与效率 ;修改文件后可使用CSVOpenCache重新加载文件命令更新缓存内容
加载csv表格内容到内存中 CSVOpenCache
文件路径
;------------------------------------------- 获取CSV文件的最大行数和最大列数 CSVGetCellInfo
文件路径 最大行数保存变量 最大列数保存变量
读取单元格的内容 CSVGetCellText 文件路径 行数 列数
保存变量
查找内容出在第几行 CSVFindTextRow 文件路径 字符串 开始行~结束行 列数(从第几列查找)
0/1(0:开始出现的行;1:最后出现的行)
保存变量
--------------------------------------------------------------
下面示范脚本的Test.csv内容
;
备注符号,读取时会忽略此行 ;
转生等级,当前属性,下级属性,需求材料 0,当前攻击1.05倍,1.10倍,转生晶石,1 1,当前攻击1.10倍,1.15倍,转生晶石,2 2,当前攻击1.15倍,1.20倍,转生晶石,3 3,当前攻击1.20倍,1.25倍,转生晶石,4 4,当前攻击1.25倍,1.30倍,转生晶石,5 5,当前攻击1.30倍,1.35倍,转生晶石,6
-------------------------------------------------------------
;示范脚本
[@测试]
#act ;CSVOpenCache
..\QuestDiary\Test.csv CSVGetCellInfo ..\QuestDiary\Test.csv N$总行数
N$总列数 Mov N$行数 0 While N$行数 < N$总行数 CSVGetCellText
..\QuestDiary\Test.csv <$STR(N$行数)> 0 S0 CSVGetCellText
..\QuestDiary\Test.csv <$STR(N$行数)> 1 S1 CSVGetCellText
..\QuestDiary\Test.csv <$STR(N$行数)> 2 S2 Sendmsg 6
[<$STR(N$行数)>,0]<$STR(S0)>;[<$STR(N$行数)>,1]<$STR(S1)>;[<$STR(N$行数)>,2]<$STR(S2)>; Inc
N$行数 1 EndWhile CSVFindTextRow ..\QuestDiary\Test.csv 1.25倍 0~10 2 0
N0 Sendmsg 6
"1.25倍"在<$STR(N0)>行,第2列中
;--------------------------------------------------------
;表格内容作为常量进行获取,仅对CSVOpenCache的可用... ;读取时会已常量形式存放在内存中(如果不经常更改的情况下建议放在QM的[@Startup]启动触发执行) ;修改CSV文件后可使用CSVOpenCache重新加载文件命令更新缓存内容 ;通过以下去读相关内存中的表格常量值
[@测试] #act CSVOpenCache
..\QuestDiary\Test.csv SendMsg 7 TEST表格内第一行第二列值为:<$TEST(1,2)> Mov S1
<$TEST(1,2)> SendMsg 5 1行2列的值为:<$STR(S1)>
<$TEST(1,2)>
|