【发布时间】:2019-09-12 03:08:49
【问题描述】:
我正在读取一个 csv 文件,我正在解析它,但遇到了一些问题。
1 - 在解析文件之前,我已经有一个包含标题字符串的数组,我想从 csv 文件中提取数据。
2- 我想解析文件,这样我还可以将数据显示到带有预定义标题的表中。并且任何额外的标题都将被忽略,不会显示在表格中。
这是我的代码:
this.predefinedHeaders = ["Name", "Age", "Gender"];
readCSV(event: Event) {
const file = (event.target as HTMLInputElement).files![0];
var reader = new FileReader();
let text = (reader.result as string).split(/\r\n|\r|\n/);
let lines = [];
for( var i=1; i<text.length; i++) {
var data = text[i].split(',');
var tarr=[];
for(var j=0; j<this.predefinedHeaders.length; j++) {
tarr.push(data[j]);
}
lines.push(tarr);
}
this.tableData = lines;
}
reader.readAsText(file);
当前发生的情况是数据被填充到表中,但不在正确的标题下。我如何将数据绑定到我的标题...注意:预定义保证是原始标题的一部分文件。不同之处在于它没有显示所有列的数据,例如其中几个。
HTML 视图:
table
thead
tr
th(v-for='column in predefinedColumns) {{column.name}}
tbody
tr(v-for='(a, index)in data')
td(v-for='(b, index2) in a') {{data[index][index2]}}
【问题讨论】:
标签: javascript typescript csv vue.js