【发布时间】:2018-06-27 19:53:50
【问题描述】:
在使用 Java 导入 CSV 文件时出现“位置 1 处缺少值分隔符”错误。
这是我的代码:
protected int getFieldCount()
{
return 3;
}
protected void importRecord(List<String> record, int lineNumber) {
String rawScore = record.get(ELEMENT_RAW_SCORE).trim();
String contextScore = record.get(ELEMENT_CONTEXT).trim();
String subtest = record.get(ELEMENT_SUBTEST).trim();
}
如果我的 csv 文件如下所示:
95,Performance Scale,codes,
ME,Performance Scale,Numbers,test
NM,Scale,Strategies,
当我在其中一行中留下额外的字符时,因为第 2 行中有“测试”,我收到错误,否则导入运行正常。即使我只添加到其中一行,也会为每一行显示错误。
getFieldCount() 方法返回 int 应出现在源文件中每条记录中的预期字段数,如果未严格执行字段数,则返回非正值。
split("\t") 等字符串方法不起作用,因为它不是导致此问题的制表符分隔符。代码在第 3 列之后不会停止阅读,即使我严格执行它也是如此。我怎么能告诉它在第 3 列之后没有读取任何内容?
【问题讨论】: