java - 需要删除csv中的空列

标签 java arrays csv opencsv

我使用来自不同数据源的一些运行时数据,使用 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/

相关文章:

python - 找出两个 csv 文件之间的差异并标记 em

python - 如何处理引号不均匀的 .tsv?

Java 小程序适用于 Oracle JRE 7u5,不适用于 7u6

java - 为什么 EnumMap 实现要检查键的父类(super class)?

java - Android Studio 工具栏作为操作栏错误

c++ - 数组函数的大小返回 int 而不是数组的大小

c# - 在c#中查找csv或文本文件的分隔符

java - 为什么我得到 java.lang.RuntimeException : Unable to start activity ComponentInfo

javascript 数组推送会发生什么?

javascript - 在 View 中使用时,保存在 app.locals 中的值数组会丢失其数组格式。这里发生了什么?