【问题标题】:jmeter .jtl log file to csv conversionjmeter .jtl 日志文件到 csv 的转换
【发布时间】:2015-08-07 03:10:42
【问题描述】:

我尝试将 jmeter .jtl 文件转换为 csv 文件。 jtl 文件的每一行都包含用逗号分隔的变量,就像在普通 csv 文件中一样。 例如:a,b,c,d,e,f 但是,在某些行中有多个分隔符,例如逗号(,)和引号(“,”)内的逗号。 例如:a,b,"c,d",e,f 我可以通过阅读 jtl 文件轻松解析逗号分隔值。但是当我在引号分隔符内遇到逗号时,代码无法生成有用的结果。 我尝试使用 java multi split ,但问题仍然存在。

我的java代码如下:

try{
 BufferedReader reader = new BufferedReader(new InputStreamReader(new BufferedInputStream(new FileInputStream(new File("D:/apache-jmeter-2.11/apache-jmeter-2.11/bin/")))));
while((line = reader.readLine()) !=null){   
    String[] datas = line.split("[,\",\"]");
     p.println(datas[0] + "," + datas[5] + "," + datas[2] + "," + datas[1] + "," + datas[3] + "," + datas[8] + "," + datas[9]); 
}

我已经使用 split 来使用 (,) 和 (",") 进行拆分。我应该如何重写代码才能解决问题。

【问题讨论】:

  • 对我的回答有任何反馈吗?

标签: java regex csv jmeter


【解决方案1】:

使用uniVocity-parsers 阅读:

CsvParserSettings settings = new CsvParserSettings(); //many options to configure the format and the parser here. Check the tutorial
CsvParser parser = new CsvParser(settings);
List<String[]> allRows = parser.parseAll(
    new FileReader(new File("D:/apache-jmeter-2.11/apache-jmeter-2.11/bin/")));

披露:我是这个库的作者。它是开源免费的(Apache V2.0 许可)。

【讨论】:

    【解决方案2】:

    使用这个库来为你处理这个问题:

    阅读 javadoc 以了解如何指定格式:

    【讨论】:

      【解决方案3】:

      对我来说,您正在寻找的是您可以使用的现有 CSV 处理库。我使用 OpenCSV 成功处理了 JMeter 输出,但这显然只是众多可能选项之一。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-02
        • 1970-01-01
        • 2021-07-24
        • 2011-02-19
        • 1970-01-01
        相关资源
        最近更新 更多