如何逐个读取csv文件数据并将其放入变量Using Groovy

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何逐个读取csv文件数据并将其放入变量Using Groovy相关的知识,希望对你有一定的参考价值。

我在这里遇到一个问题。我想读取csv文件数据,并逐个将其放入变量和该变量我想分配下一个Http请求让我们说ids.csv文件,其中包含这样的值

23333
23334
23335
22336
23336

我使用的是Jsr223 PreProcessor代码:

def csvfile = new File('D:/datas/id/ids.csv')
def lines =csvfile.readLines()
lines.each { String line ->
  vars.put('Id_value', line.toString())
}

如果是错的,如何用简单的代码做到这一点?

答案

您需要在JMeter Variables引用名称中添加某种形式的计数器,您当前的代码将只创建一个Id_value变量值为23336,您需要修改它:

def csvfile = new File('D:/datas/id/ids.csv')
def lines =csvfile.readLines()
lines.eachWithIndex {line, idx ->
    vars.put('Id_value_' + idx, line)
}

你会得到:

Id_value_0=23333
Id_value_1=23334
Id_value_2=23335
Id_value_3=22336
Id_value_4=23336

更多信息:

另一答案

您可以模拟添加具有不同后缀的变量的JMeter CSV数据集,例如tutorial

String Filename = vars.get("GETfile");
String fileContents = new File(Filename).getText('UTF-8');
def lines = 0  ;
    fileContents.eachLine { line ->
        lines++;
        vars.put("CSVLine_" + lines, line);
    }
vars.put("GETfileLength",lines.toString()) ; 

然后使用ForEach Controller循环变量:

以上是关于如何逐个读取csv文件数据并将其放入变量Using Groovy的主要内容,如果未能解决你的问题,请参考以下文章

如何从 csv 文件中读取数据并将其存储在数据库中?弹簧靴

我正在尝试从 .csv 读取信息并将其放入 C# 中的数组中。谁能告诉我为啥代码不起作用?

如何读取 csv 文件并将其应用于 tensorflow

如何从 CSV 文件导入数据并将其存储在变量中?

分块读取csv文件进行处理

读取一个变量 JSONB 并将其放入 postgresql 的列中