相关疑难解决方法(0)

OpenCSV - 如何将所选列映射到Java Bean而不管顺序如何?

我有一个CSV有以下的列文件:id,fname,telephone,lname,address.

我有一个Person带班id,fnamelname数据成员.我想只将这些列映射到PersonCSV文件中的对象,并丢弃telephoneaddress列.我怎样才能做到这一点?解决方案必须随着未来添加更多列而扩展.无论列位置如何都应该工作.

在理想的解决方案中,用户只会指定要读取的列,它应该可以正常工作.

java csv opencsv supercsv

25
推荐指数
3
解决办法
4万
查看次数

Opencsv,StatefulBeanToCsv 将嵌套的对象列表写入 csv

我必须使用打开的 csv 将嵌套的对象列表(StoreLocations)写入 Csv 文件。我的模型类是-

public class StoreLocation {
    private String name;
    private String city;
    private int zip;
    private String streetAndNumber;
    private List<String> keywords;
    private Double lat;
    private Double lng;
    private List<OpeningHours> openingHours;
}

public class OpeningHours {
    private String dayOfWeek;
    private String from1;
    private String to1;
}
Run Code Online (Sandbox Code Playgroud)

我的写作方法——

public void getStoreLocationData(List<StoreLocation> storeLocations) throws IOException, CsvDataTypeMismatchException, CsvRequiredFieldEmptyException {
        try (
                Writer writer = Files.newBufferedWriter(Paths.get(storeLocationDataCsv))
        ) {
            StatefulBeanToCsv beanToCsv = new StatefulBeanToCsvBuilder(writer)
                    .withQuotechar(CSVWriter.NO_QUOTE_CHARACTER)
                    .build();
            beanToCsv.write(storeLocations);
        }
    }
Run Code Online (Sandbox Code Playgroud)

此代码完美生成所有列,除了开放时间列表。这是当前的输出-在此处输入图片说明 我宁愿有一个开放时间列,并将每个开放时间安排为一个新行。就像是在此处输入图片说明 或在营业时间列内的 json …

java csv list opencsv writetofile

6
推荐指数
1
解决办法
1833
查看次数

OpenCSV将csv转换为嵌套bean

我们正在使用OpenCSV.csv是

id,fname,lname,address.line1,address.line2
Run Code Online (Sandbox Code Playgroud)

豆子是

Person{
  String id;
  String lname;
  String fname;
  Address address;
}

Address{
  String line1;
  String line2;  
}
Run Code Online (Sandbox Code Playgroud)

是否可以Address用opencsv 填充嵌套对象!在opencsv.beanopencsv.bean.customconverter有一些类,这似乎可以做我想做的,但我找不到任何样品.

我已经看到使用OpenCSVParse CSV转换为多个/嵌套bean类型?但答案集中在SuperCSV,这不是我想要的.

java csv opencsv

5
推荐指数
1
解决办法
605
查看次数

标签 统计

csv ×3

java ×3

opencsv ×3

list ×1

supercsv ×1

writetofile ×1