我从https://www.fakenamegenerator.com/创建了100万条伪数据行
它包括诸如“性别,名字,姓氏,年龄,街道地址,城市,邮政编码,国家”之类的内容
我自己添加了“工资,工作类型,超重,欧盟”。现在,我需要1-99岁的人,但要让许多18岁以下或65岁以上的人仍然没有意义。我想调整年龄。那必须在读取过程之后发生。我想我必须两次写入CSV文件。
public static void read(String file) throws MalformedURLException {
URL url = new File(file).toURI().toURL();
try (Reader reader = new InputStreamReader(new BOMInputStream(url.openStream()), StandardCharsets.UTF_8);) {
CsvToBean<CSVDummy> csvToBean = new CsvToBeanBuilder<CSVDummy>(reader).withType(CSVDummy.class)
.withIgnoreLeadingWhiteSpace(true).build();
Iterator<CSVDummy> csvUserIterator = csvToBean.iterator();
while (csvUserIterator.hasNext()) {
CSVDummy csvDummy = csvUserIterator.next();
if (csvDummy.getOverweight() == null) {
addOverweight(csvDummy);
}
if (csvDummy.getWorktype() == null) {
addWorktype(csvDummy);
}
if (csvDummy.getSalary() == null) { // Salary ist abhaengig vom Worktype
addSalary(csvDummy);
}
if (csvDummy.getEu() == null) {
addEu(csvDummy);
}
dummyList.add(csvDummy);
}
} catch (IOException e) {
e.printStackTrace();
}
}
那是我的阅读方法。我检查值是否已经设置。如果没有,我会以一些概率调用我的方法。我的想法就像获得平均年龄并对其进行处理,但这并没有真正显示出我的问题。