JMeter 使用同一列中带有逗号的值写入 CSV

Posted

技术标签:

【中文标题】JMeter 使用同一列中带有逗号的值写入 CSV【英文标题】:JMeter write to CSV with values with comma in the same column 【发布时间】:2021-08-08 06:16:31 【问题描述】:

我正在向 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();

【问题讨论】:

【参考方案1】:

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

类似:

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

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

另外请注意,使用脚本将数据写入文件具有潜在危险,如果使用超过 1 个线程(用户)运行脚本,您可能会遇到race condition,因此请确保将您的脚本在Critical Section Controller下或者切换到ieFlexible File Writer

【讨论】:

以上是关于JMeter 使用同一列中带有逗号的值写入 CSV的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 R 将数据帧/矩阵写入 CSV,但值中有逗号

如何将包含逗号的值写入 csv 文件?

将其字段中带有逗号的 .csv 文件转换为 JSON/TXT

jmeter-结果数据写入指定文件

java要怎么修改csv中指定行列位置的值

Jmeter参数化_CSV Data Set Config