gpt4 book ai didi

java - opencsv 从未知行但已知单词读取?

转载 作者:行者123 更新时间:2023-11-30 06:05:02 29 4
gpt4 key购买 nike

好的,我有一个 csv 文件:

Summary
heading1,heading2,heading3
value1,value2,value2
value1,value2,value2
value1,value2,value2
value1,value2,value2
Detail
heading11,heading12,heading13
value1,value2,value2
value1,value2,value2
value1,value2,value2
value1,value2,value2

我正在使用 com.opencsv.CSVReader 库。

我需要从“Detail”行读取,但我不知道它是哪一行,因为它之前可能有未定义的行数。总结从
开始第 13 行,但我知道如何处理它。

opencsv 是否有一种简单的模式来查找“详细信息”行并从那里开始?或者我是否需要以某种方式计算 Detail 之前的行并将其作为参数传递到 OPENCSV 中?

最佳答案

由于将 CSV 分成多个部分并不是常见要求,也不一定得到库的支持,因此您应该找到自己感兴趣的行的起始点并提取它们。一种方法可能是:

BufferedReader b = new BufferedReader(new FileReader(source));
String line = b.readLine();
StringBuilder build = new StringBuilder();
while(line != null && !line.equals("Detail")){
line = b.readLine();
}
line = b.readLine();
while(line != null){
build.append(line);
build.append('\n');
line = b.readLine();
}
System.out.println(build.toString());
Reader toBeParsed = new StringReader(build.toString());

它基本上读取文件,直到找到与详细信息部分匹配的行,然后将所有剩余的行添加到字符串中。使用该字符串的读取器可以将其输入到 CSVReader 中。

我假设必须考虑所有剩余的行(考虑与另一个字符串匹配以阻止这种情况,如果情况并非如此),并且开始的行正是“详细信息”(您可以使用正则表达式作为更灵活的方法)

Here is a live demo

关于java - opencsv 从未知行但已知单词读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51514390/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com