为什么从大型csv文件中获取的地图会在迭代时打印空值,如下所示:
@Grab('com.xlson.groovycsv:groovycsv:1.1')
import static com.xlson.groovycsv.CsvParser.parseCsv
import com.sun.rowset.internal.Row
def csv="srcev.csv"
def df = new FileReader(csv)
def data = parseCsv(df, readFirstLine: true)
def csvMap1 = [:]
int j=0;
for (def row : data) {
csvMap1[row.values[0]] = row.values[1]
j++;
}
for (i=0;i<=j;i++) {
println csvMap1.keySet().value[i]
}
输出:
value1
value2
null
null
null
.
.
.
直到csv的结尾,它打印为null,但实际上csv还有另一个值。
注意:此迭代仅影响大文件。对于小型csv文件,它运行良好。