I'm looking for a library that allows me to map a .csv contents to an object.
Something like:
public class Person { private String name; private int age; @CsvField("name") public String getName() { return this.name; } @CsvField("age") public int getAge() { return this.age; } }
and then say something like:
final Person filledWithDataFromCsv = csvApi.load(csvFilepath, Person.class);
from the given CSV:
#name, age tom, 11 jim, 32
Does anyone know of such an API, or one that does something similar. I don't want it to use annotations as a must, I just want to be able to load the file with one line of code and a predefined class.
Steps for writing a CSV file First, open the CSV file for writing ( w mode) by using the open() function. Second, create a CSV writer object by calling the writer() function of the csv module. Third, write data to CSV file by calling the writerow() or writerows() method of the CSV writer object.
JSefa allow you to annotate Java classes that can be used in a serialization and de-serialization process. The tutorial demonstrates how this works with the CsvIOFactory class.
(From the tutorial) Annotating a bean is as simple as specifying the locations of the items in the list of values, and if necessary, you'll need to specify the conversion format:
@CsvDataType() public class Person { @CsvField(pos = 1) String name; @CsvField(pos = 2, format = "dd.MM.yyyy") Date birthDate; }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With