我有一个CSV文件,如下所示:
cond, arg
T, arg1
T, arg2
T, arg3
T, arg4
T, arg5
P, arg6
P, arg7
P, arg8
P, arg9
P, arg10
现在我可以从“arg”列中获取随机值,只需将值“$ arg”放入“Text element”
我的问题是,只需使用“构建器视图”,例如“文本元素”和“代码元素”,就可以随机获取属于满足条件的行的值$ cond ='P “?
答案 0 :(得分:2)
我建议在Builder中执行此操作的最简单方法是将CSV文件拆分为两个单独的文件(在这种情况下,一个包含" arg1" - " arg5"另一个包含" arg6" - " arg10"),命名为T.csv和P.csv。
然后在循环中,不是使用硬编码的条件文件名,例如" conditions.csv",而是输入变量名称,例如" $ conditionFilename" (没有引号)。然后,您只需要在创建循环之前指定该变量的值。例如我们假设您添加一个名为" conditionType"的字段。到实验设置对话框,实验者将在每次运行前设置该对话框,其中包含值" P"或" T"。然后在代码组件中,在" Begin Experiment"选项卡,输入如下内容:
if expInfo['conditionType'] == 'P':
conditionFilename = 'P.csv'
else:
conditionFilename = 'T.csv'
将循环设置为随机,您将在这些特定试验中获得随机选择。 我认为conditionType变量将与其他实验设置一起自动存储在您的数据中。