我使用来自不同数据源的一些运行时数据,使用 Open CSV 库创建了 CSV 文件。
现在我正在寻找很多在列单元格中没有值(value)的空列,所以我想以编程方式删除它们。
我目前正在尝试实现的方法是,在 String 二维数组中获取第一个 CSV 数据并垂直迭代它并执行一些操作以删除空列!
我可以采用其他更好的方法吗?请建议!
问候
//已编辑
使用 OpenCSV 库写入 CSV 的代码:
public static void writeDataToCSV(CSVWriter writer, String[][] csvData){
List<String[]> csvDataList = new ArrayList<String[]>();
for (String[] rowData : csvData) {
csvDataList.add(rowData);
}
writer.writeAll(csvDataList);
}
最佳答案
所以在提供的 String[]
中,您知道需要删除的列的索引,对吗?如果是这样,您可以这样做:
for (String[] rowData : csvData) {
// Convert the String[] to an ArrayList to be able to easily remove the specific column
ArrayList<String> rowArray = new ArrayList<String>(Arrays.asList(rowData));
// Remove that specific column value
rowArray.remove(<index of column>);
// Convert the ArrayList back into an array so it can be written to the CSV
String[] dataToWrite = rowArray.toArray(new String[rowArray.size()]);
// Add it to the ArrayList of values to be written
csvDataList.add(dataToWrite);
}
关于java - 需要删除csv中的空列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27966988/