我想验证一个 csv 文件。它是从一个包含数字、日期、布尔值、文本字段的 excel 文件转换而来的。所以我需要验证 csv 文件。我使用了一个 Csvvalidator,但它不能正常工作。
List<Field> list = new ArrayList<Field>();
list.add(new Field(1, Type.TEXT, notOptional)); //emailaddress
list.add(new Field(2, Type.TEXT, notOptional)); //firstname
list.add(new Field(3, Type.TEXT, notOptional)); //middlename
list.add(new Field(4, Type.TEXT, optional)); //lastname
list.add(new Field(5, Type.DATE, optional)); //dob
list.add(new Field(6, Type.TEXT, notOptional)); //gender
list.add(new Field(7, Type.TEXT, optional)); //altemailaddress
list.add(new Field(8, Type.TEXT, optional)); //currentStreet1
list.add(new Field(9, Type.TEXT, optional)); //currentStreet2
list.add(new Field(10, Type.TEXT, optional)); //currentCity
list.add(new Field(11, Type.TEXT, optional)); //currentState
list.add(new Field(12, Type.NUMBER, optional)); //currentPincode
list.add(new Field(13, Type.TEXT, optional)); //permanentStreet1
list.add(new Field(14, Type.TEXT, optional)); //permanentStreet2
list.add(new Field(15, Type.TEXT, optional)); //permanentCity
list.add(new Field(16, Type.TEXT, optional)); //permanentState
list.add(new Field(17, Type.NUMBER, optional)); //permanentPincode
list.add(new Field(18, Type.NUMBER, optional)); //mobile
list.add(new Field(19, Type.NUMBER, notOptional)); //phone
list.add(new Field(20, Type.TEXT, optional)); //emailsubscription
list.add(new Field(21, Type.TEXT, optional)); //mobilesubscription
System.out.println(list.size());
CsvValidator validator = new CsvValidatorImpl(AppConstants.OUTPUT_FILE, list, "|");
excel 和 csv 有 21 个字段,但是当我编译它时,它会说这些东西。
第 1 行无效,包含 165 个必需的 21 个字段。
第 2 行无效,包含 157 个必填字段 21 个字段
第 3 行无效,包含 161 个必需的 21 个字段。
第 4 行无效,包含 137 个必填项 21 个字段