我有两个csv源来读取数据。两个csv文件提供相同的数据,但名称或列位置不同。有没有办法在@csvbindbyname中加上“或”。例如,两个文件的标题如下
csv 1-rollno,studentname,class,age,primarylanguage,projectname
csv 2-姓名、班级、基本语言、注册号、年龄、项目、出席率
我必须在同一个pojo中读取两个csv文件信息。
public class StudentInfo{
@CsvBindByName(column = "RollNo")
private String rollNo;
@CsvBindByName(column = "StudentName")
private String studentName;
@CsvBindByName(column = "PrimaryLanguage")
private String primaryLanguage;
@CsvBindByName(column = "Class")
private String class;
@CsvBindByName(column = "ProjectName")
private String projectName;
@CsvBindByName(column = "Age")
private String age;
//getters and setters
}
或者有没有其他方法来实现这一点。如果我只使用一种csv头格式,那么我的代码工作正常。谢谢
1条答案
按热度按时间gev0vcfq1#
Profiles
在opencsv中解决了这个问题,但它仅在5.4中可用。请参阅有关的文档
Profiles
下面是官方文档中的代码片段。