相关疑难解决方法(0)

使用CsvBeanReader读取具有可变列数的CSV文件

所以我正在解析.csv文件.我在StackOverflow上的某个地方接受了另一个线程的建议并下载了SuperCSV.我终于完成了一切工作,但现在我遇到了一个似乎很难解决的错误.

出现此问题的原因可能是也可能未填充最后两列数据.下面是.csv文件的示例,第一行缺少最后一列,第二行完全完成:

2012:07:25,11:48:20,922,"uLog.exe","",按键,1246,341,-1.00,-1.00,1.00,班次2012:07:25,11:48:21,094," uLog.exe","",按下键,1246,341,-1.00,-1.00,1.00,b,Shift

根据我对Super CSV Javadoc的理解,如果存在可变数量的列,则无法使用CsvBeanReader填充Java Bean .这似乎真的很愚蠢,因为我觉得在初始化Bean时,应该允许这些缺少的列为null或其他一些默认值.

作为参考,这是我的解析器的完整代码:

public class ULogParser {

String uLogFileLocation;
String screenRecorderFileLocation;

private static final CellProcessor[] cellProcessor = new CellProcessor[] {
    new ParseDate("yyyy:MM:dd"),
    new ParseDate("HH:mm:ss"),
    new ParseDate("SSS"),
    new StrMinMax(0, 100),
    new StrMinMax(0, 100),
    new StrMinMax(0, 100),
    new ParseInt(),
    new ParseInt(),
    new ParseDouble(),
    new ParseDouble(),
    new ParseDouble(),
    new StrMinMax(0, 100),
    new StrMinMax(0, 100),
};

public String[] header = {"Date", "Time", "Msec", "Application", "Window", "Message", "X", "Y", "RelDist", "TotalDist", "Rate", "Extra1", "Extra2"}; …
Run Code Online (Sandbox Code Playgroud)

java csv supercsv

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

csv ×1

java ×1

supercsv ×1