我试图使用opencsv 3.3与一些用户解析一个简单的csv文件并将其放入bean中,但在运行代码时得到一个类未找到异常。下面是我用于读取对象的Person.class文件。
public class Person {
private String firstname;
private String lastname;
private String email;
private String type;
/*public Person () {}
public Person (String firstname, String lastname, String email, String type) {
this.firstname = firstname;
this.lastname = lastname;
this.email = email;
this.type = type;
}*/
//set all the variables for the person
//set the first name
public String getFirstName() {
return firstname;
}
public void setFirstName(String firstname) {
this.firstname = firstname;
}
//set the last name
public String getLastName() {
return lastname;
}
public void setLastName (String lastname) {
this.lastname = lastname;
}
//set the email address of the user
public String setEmail() {
return email;
}
public void getEmail(String email) {
this.email = email;
}
//set the type for the user
public String setType() {
return type;
}
public void getType (String type) {
this.type = type;
}
@Override
public String toString() {
return "User [firstname=" + firstname + ", lastname=" + lastname + ", email=" + email + ", type=" + type + "]";
}
}
读取 csv 的代码如下。
String filename = "D:/Projects/deploy/resources/sample.csv";
try {
HeaderColumnNameTranslateMappingStrategy<Person> strategy = new HeaderColumnNameTranslateMappingStrategy<Person>();
strategy.setType(Person.class);
Map<String, String> mapping = new HashMap<String, String>();
mapping.put("firstname", "firstname");
mapping.put("lastname", "lastname");
mapping.put("email", "email");
mapping.put("type", "type");
strategy.setColumnMapping(mapping);
System.out.println("past the mapping");
CSVReader reader = new CSVReader(new FileReader(filename));
System.out.println("past the reader");
CsvToBean<Person> csvbean = new CsvToBean<Person>();
System.out.println("past the csvtobean");
List<Person> csvusers = csvbean.parse(strategy, reader);
System.out.println(csvusers);
} catch (Exception e) {
System.out.println("there was an exception in the main program:" + e);
}
当我运行这个时,它表示没有找到报头映射的类。你知道这个人是否有问题吗。类还是使用映射?如果您能提供任何帮助,我们将不胜感激。
如果有人遇到这个问题,上面的代码工作正常。我的类路径中没有apache公共lang3,这是opencsv所必需的。一旦我添加了这个,一切都开始正常工作。
谢谢尼克
我正在尝试使用OpenCSV解析CSV文件。其中一列以YAML序列化格式存储数据,并被引用,因为其中可以包含逗号。它里面也有引号,所以它通过放两个引号来转义。我能够在Ruby中轻松解析这个文件,但使用OpenCSV我无法完全解析它。这是一个UTF-8编码的文件。 这是我的Java片段,它试图读取文件 这是此文件中的2行。第一行没有被正确解析,并且在处被拆分,因为我猜是转义双引号。
我正在尝试使用OpenCsv从CSV解析即时,如下所示: 我知道OpenCsv应该支持< code>java.time。 但是当我试图使用它的时候,我得到了下面的异常: 分析CSV行时出错:8。 ... 原因:java.time.format。DateTimeParseException:无法解析文本“2022-04-21 00:00:00”:无法从临时加速器获取即时数据:{HourOfAmPm=
问题内容: 我们都知道python的 句法。 但是,列表理解的 AST表示可以容纳多个’if’表达式: 有人可以给我一个python代码示例,该示例会生成带有多个“ if”表达式的AST吗? 问题答案: 只需将它们一个接一个地堆叠: 产生介于11和49之间(含)的整数。
我有以下csv文件, 我无法用opencsv jar读取上述csv文件。它无法读取,因为数据中有双引号。我的csv阅读器构造函数如下所示:,
我有一个CSV文件,我想用开放CSV的csv阅读器在Java中解析。 为此,我创建了一个Bean对象,信息映射到该对象。我的有点长,所以这是我从教程中得到的一个例子: 我用来解析CSV文件并将信息映射到bean的代码类似于以下代码: 问题在于,我的CSV不仅包含原始数据,还包含列标题和其他数据。对于专栏标题,我只从某行读取我的文件,解决了这个问题: (1 是开始读取的行) 其他数据主要是文件末尾(
问题内容: 我正在尝试在NetBeans 6.0.1中使用OpenCSV解析.csv文件。我的文件包含一些Unicode字符。当我在输出中写入字符时,字符以其他形式显示,例如(HJ1’-E /;)。当我在记事本中打开此文件时,它看起来还可以。 我使用的代码: 问题答案: 首先,您需要知道文件的编码格式,例如UTF-8或UTF-16。生成此文件的原因是什么? 在那之后,它相对简单- 您需要创建一个包