需要有关 imacros !DATASOURCE_LINE 问题的解决方案

Need solution regarding imacros !DATASOURCE_LINE issue

我有一个包含 tv-series 信息的 csv 文件,每个 tv-series 都有自己的宏。我可以使用 {{!COL1}} 等毫无问题地获取所有信息。 但是我在下面的场景中需要一些帮助。

tv-series.csv

Game of Thrones, 2011, Season 2
The Walking Dead, 2015, Season 5
etc.

如果我想获得 tv-series 的标题,我将简单地使用 {{!COL1}},并且年份 {{!COL2}}

但我有时会添加新的 tv-series 并且它们的顺序在 csv 文件中完全改变。然后我必须手动修改所有宏中的所有行#s。

有没有办法根据第一列(例如权力的游戏)确定行号?信息不会改变,只是它们的行号会改变。对不起我糟糕的英语,我希望我能说出我的问题并需要一些建议。

到目前为止我的代码

VERSION BUILD=8910303 RECORDER=FX
TAB T=1
SET !DATASOURCE tv-series.csv
SET !DATASOURCE_LINE 2 => This # should change based on first column

TAG POS=1 TYPE=TEXTFIELD FORM=NAME:title ATTR=ID:titlebox CONTENT={{!COL1}}

使用命令 'EVAL' 和 'switch' 子句。例如:

...
SET !DATASOURCE tv-series.csv
SET !DATASOURCE_LINE 1
SET lineNumber EVAL("switch ('{{!COL1}}') {case 'Game of Thrones': s = 2; break; case 'Something Else': s = 5; break;  /* etc. */}")
SET !DATASOURCE_LINE {{lineNumber}}
...