1.首先引入依赖
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.3</version>
</dependency>
2.创建实体类用@CsvBindByName(column = "Lat")去映射读取的列的名称
@Data
public class MinuteCimissTem implements Serializable {
@CsvBindByName(column = "Station_Id_C")
private String stationIdC;
@CsvBindByName(column = "Station_Name")
private String stationName;
@CsvBindByName(column = "Lat")
private String lat;
@CsvBindByName(column = "Lon")
private String lon;
@CsvBindByName(column = "TEM")
private String obsValue;
@CsvBindByName(column = "Q_TEM")
private String qTem;
@CsvBindByName(column = "Station_levl")
private String stationLevel;
}
3.读取文件数据为list
File file = new File("D:\\ybn\\常用项目\\常用项目文件\\SURF\\aaa.csv");
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
CsvToBean<MinuteCimissTem> csvToBean = new CsvToBeanBuilder<MinuteCimissTem>(bufferedReader)
.withType(MinuteCimissTem.class)
.withIgnoreLeadingWhiteSpace(true)
.withSeparator(',')
.build();
List<MinuteCimissTem> parse = csvToBean.parse();