我有一个由另一个程序生成的CSV文件,它以FileItem的形式上传到Moqui,而无需对CSV文件进行任何编辑。
因此,它有一个我不想使用的头部,因此我手动为实体数据加载器指定了csvEntityName和csvFieldNames。但是头被视为第一个记录。-有没有建议跳过第一行的方法?
发布于 2020-06-19 12:45:37
更深入地研究,在EntityDataLoaderImpl.groovy中我们有:
CSVParser parser = CSVFormat.newFormat(edli.csvDelimiter)
.withCommentMarker(edli.csvCommentStart)
.withQuote(edli.csvQuoteChar)
.withSkipHeaderRecord(true) // TODO: remove this? does it even do anything?
.withIgnoreEmptyLines(true)
.withIgnoreSurroundingSpaces(true)
.parse(reader)
.withSkipHeaderRecord(true)目前什么也不做的原因是您必须首先指定文件有一个可以使用.withHeader()跳过的标题。( https://commons.apache.org/proper/commons-csv/apidocs/org/apache/commons/csv/CSVFormat.html#withFirstRecordAsHeader--)
如果添加这一点,如果传递'true‘,则.withSkipHeaderRecord(布尔值)将跳过头记录。
(我认为这是一个问题,所以我会这么做的。)
https://stackoverflow.com/questions/62455615
复制相似问题