You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JMeter中用Groovy脚本将CSV转换为HashMap的实现问题

Groovy实现CSV转指定格式HashMap

完整可行代码

补全你卡住的部分,即可生成目标格式的HashMap:

def source = new File('1000items.csv').readLines()
def payload = [:]

// 跳过表头行,遍历所有数据行
source.takeRight(source.size() - 1).each { line ->
    def parts = line.split(',')
    // 以itemId为key,name和lastname组成的列表为value
    payload.put(parts[0], [parts[1], parts[2]])
}

// 打印结果验证
println payload

优化处理(可选)

如果CSV字段前后存在多余空格,可统一去除,避免结果带不必要的空白字符:

def source = new File('1000items.csv').readLines()
def payload = [:]

source.takeRight(source.size() - 1).each { line ->
    // 拆分后批量去除每个字段的前后空格
    def parts = line.split(',').collect { it.trim() }
    // 校验行格式,避免因字段缺失报错
    if (parts.size() >= 3) {
        payload.put(parts[0], [parts[1], parts[2]])
    } else {
        println "忽略格式错误的行:$line"
    }
}

代码说明

  • line.split(','):将每行按逗号拆分为字符串数组,例如数据行12345, n1, ln1会拆成["12345", " n1", " ln1"]
  • [parts[1], parts[2]]:利用Groovy列表语法,直接将拆分后的第2、3个元素组成列表作为HashMap的value
  • collect { it.trim() }:批量处理所有字段的前后空格,让结果更整洁
  • 格式校验:添加parts.size() >=3判断,避免因CSV行格式异常导致脚本崩溃

内容的提问来源于stack exchange,提问作者Ibivio R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 18:05:02