gpt4 book ai didi

java - 如何轻松地将 CSV 文件处理为 List

转载 作者:搜寻专家 更新时间:2023-10-31 19:38:47 27 4
gpt4 key购买 nike

在我的应用程序中,我使用了很多 CSV 文件,我必须阅读这些文件并根据它们构建列表。我想找到一种简单的方法来做到这一点。你知道有什么简单的框架可以在不使用大量配置文件等的情况下完成吗?

例如,我有一个类 Person:

public class Person {
String name;
String surname;

double shoeSize;
boolean sex; // true: male, false:female

public Person() {
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getSurname() {
return surname;
}

public void setSurname(String surname) {
this.surname = surname;
}

public double getShoeSize() {
return shoeSize;
}

public void setShoeSize(double shoeSize) {
this.shoeSize = shoeSize;
}

public boolean isSe) {
return sex;
}

public void setSeboolean sex) {
this.sex = sex;
}

对于这门课,我准备了 CSV 文件:

name,surname,shoesize,sex
Tom,Tommy,32,true
Anna,Anny,27,false

我怎样才能轻松做到?

最佳答案

读取和序列化数据的最简单方法之一是使用 Jackson 库。它也有 CSV 的扩展,你可以找到 wiki here

假设您有一个这样的 Pojo:

@JsonPropertyOrder({ "name", "surname", "shoesize", "gender" })
public class Person {

public String name;
public String surname;
public int shoesize;
public String gender;

}

像这样的 CSV:

Tom,Tommy,32,m
Anna,Anny,27,f

然后读取它是这样完成的:

MappingIterator<Person> personIter = new CsvMapper().readerWithTypedSchemaFor(Person.class).readValues(csvFile);
List<Person> people = personIter.readAll();

这对我来说很简单,基本上您需要做的就是使用 @JsonPropertyOrder 注释在 CSV 文件中添加列顺序,然后使用以上两行读取文件。

关于java - 如何轻松地将 CSV 文件处理为 List<MyClass>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22485041/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com