首页 > 解决方案 > JMeter 使用同一列中带有逗号的值写入 CSV

问题描述

我正在向 CSV 写入一些值。其中一个列值有一个逗号,如“Hello, World”。 当我写入 CSV 时,它会在第 1 列中写入 Hello,而 World 在第 2 列中。

我希望两者都写在同一列中。我尝试了很多选择,但没有运气。这是我正在使用的代码

**///////////////Create CSV File**
import java.io.*;
import java.lang.*;
import java.util.*;
import java.io.FileOutputStream;

String path = "ExtractedFiles/";
String dataExtractionCSVFile = path+ "ExtractedData.${DateTime}.csv";
f = new FileOutputStream(dataExtractionCSVFile, true);
p = new PrintStream(f); 
this.interpreter.setOut(p);
print("comments");
f.close();
vars.put("dataExtractionCSVFile",dataExtractionCSVFile)

/////////////将值写入CSV文件

import java.io.FileWriter;
comments = vars.get("comments");

dataExtractionCSVFile = vars.get("dataExtractionCSVFile");
f = new FileOutputStream(dataExtractionCSVFile, true);
        p = new PrintStream(f);  
        this.interpreter.setOut(p);     
        print(comments);
        f.close();

标签: csvjmetercommawrite

解决方案


CSV 中没有“列”这样的概念,如果您使用逗号作为分隔符并且comments包含逗号,则解决方案将用引号将其括起来。

就像是:

print("\"" + comments + "\"");

如果您要在CSV 数据集配置中重复使用 CSV 文件- 请确保将“允许引用的数据”设置为True

在此处输入图像描述

另请注意,使用脚本将数据写入文件具有潜在危险,如果使用超过 1 个线程(用户)运行脚本,您可能会遇到竞争条件,因此请确保将脚本放在关键部分下控制器或切换到 ie Flexible File Writer


推荐阅读