gpt4 book ai didi

java - 将单个 CSV/TSV 字符串转换为 Java 对象?

转载 作者:行者123 更新时间:2023-12-02 06:21:06 27 4
gpt4 key购买 nike

是否有一种简单的 API 可以接受一个 csv 或 tsv 字符串并将其转换为对象,而不是将整个 CSV 文件转换为对象?到目前为止,我发现的 api 是针对 csv/tsv 文件到对象列表的。

显然我可以分割字符串并调用构造函数,但想知道是否有一个干净的 API 我可以使用。

最佳答案

您可以使用Jackson来做到这一点。它看起来与其他答案非常相似,但根据他们的 tests 似乎比 SuperCSV 表现更好。 .

定义你的POJO(注释和构造函数似乎都是必要的):

@JsonPropertyOrder({ "foo", "bar" })
public class FooBar {

private String foo;
private String bar;

public FooBar() {
}

// Setters, getters, toString()
}

然后解析它:

String input = "1,2\n3,4";
StringReader reader = new StringReader(input);
CsvMapper m = new CsvMapper();
CsvSchema schema = m.schemaFor(FooBar.class).withoutHeader().withLineSeparator("\n").withColumnSeparator(',');
try {
MappingIterator<FooBar> r = m.reader(FooBar.class).with(schema).readValues(reader);
while (r.hasNext()) {
System.out.println(r.nextValue());
}

} catch (JsonProcessingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

关于java - 将单个 CSV/TSV 字符串转换为 Java 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28682120/

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