例如:我正在尝试在.csv文件中搜索名称为“abc”的文本,该文件存在于多行的第6列中,我需要删除这些行。
我试过下面的代码。我能够得到第8行中文本“abc”存在的行号/行号,但它没有删除行。
import java.io.BufferedReader;
import java.io.*;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
import com.opencsv.CSVReader;
import com.opencsv.CSVWriter;
public class ReadExcel {
public static void main(String[] args) throws Exception{
String csvFile = "csv filelocation";
CSVReader reader = new CSVReader(new FileReader(csvFile));
List<String[]> allElements = reader.readAll();
String [] nextLine;
int lineNumber = 0;
while ((nextLine = reader.readNext()) != null) {
lineNumber++;
if(nextLine[5].equalsIgnoreCase("abc")){
System.out.println("Line # " + lineNumber);
allElements.remove(lineNumber);
}
}
答案 0 :(得分:0)
为了以CSV格式阅读文件,我目前正在使用库super-csv。有各种例子。
如果您需要帮助,请告诉我。
答案 1 :(得分:0)
因此,如果您想使用opencsv库,我将开始一个新示例,用于在CSV文件中编写新内容。我从你的示例代码中获取灵感。
List<String[]> allElements; /* This list will contain the lines that cover your criteria */
/*
...
*/
CSVWriter writer = new CSVWriter(new FileWriter("yourfile.csv"));
writer.writeAll(allElements);
writer.close();