java - 使用 supercsv 的 CSV header 验证

标签 java csv supercsv

如何验证 CSV 文件的数据是否包含标题?我正在使用 supercsv 和 Java。我的 csv 文件包含;

ACCOUNT,NAME,PHONE (header) <--- 需要验证,所有的header都必须存在 Checking,John,1122222222(数据)

Saving,Carl,1234567891(数据)

感谢您的帮助。

最佳答案

如果您事先不知道 header 值是什么,则无法知道第一行是否是 header (它看起来就像另一条数据行)。

如果您确实知道 header 值应该是什么,那么您可以简单地确保所有预期的列都在那里(顺序无关紧要,只要它们在那里).

例如

List<String> expectedHeaders = Arrays.asList("ACCOUNT","NAME","PHONE");

String[] header = csvReader.getHeader(true);

if (!Arrays.asList(header).containsAll(expectedHeaders)){
    // not all headers present - handle appropriately 
    // (e.g. throw exception)
}

关于java - 使用 supercsv 的 CSV header 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14431353/

相关文章:

python - 读取 CSV 文件时如何从文本字段中删除这些符号?

javascript - 如何使用 Javascript 从外部 URL 获取 CSV 文件

java - 为什么我在 if 语句中定义 double 时遇到问题?

java - 如何创建在固定时间间隔内触发一次且仅触发一次的流式Beam管道

javascript - 如何使用具有浏览器兼容性的jquery获取文件上传的base_64字符串?

java - 如何配置 Super CSV 以引用除列名之外的所有值?

java - 使用 SuperCSV 跳过 CSV 文件中的可选 header

java - SuperCSV:具有可变小数位数的 BigInteger 到 String

java - 在 Java SwingWorker 方法的签名中使用最终变量

java - 如何组织打印文本/输出