![](/img/trans.png)
[英]How to store content of csv file in an Array in JavaScript using VS Code
[英]Store a CSV file into an array using JavaScript
我只想使用JavaScript將marks
值存儲在數組中。 這是我的代碼:
<html>
<head>
<script type = "text/javascript">
function Upload() {
var fileUpload = document.getElementById("fileUpload");
var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.csv|.txt)$/;
if (regex.test(fileUpload.value.toLowerCase())) {
if (typeof (FileReader) != "undefined") {
var reader = new FileReader();
reader.onload = function (e) {
var lines = e.target.result.split("\n");
var resul = [];
var headers = lines[0].split("\t");
for (var i = 0; i < lines.length; i++) {
var obj = {};
var currentline = lines[i].split(",");
for (var j = 0; j < headers.length; j++) {
headers[j] = currentline[j];
}
resul.push([i, obj]);
document.write(" " + resul);
}
return resul;
}
reader.readAsText(fileUpload.files[0]);
} else {
alert("This browser does not support HTML5.");
}
} else {
alert("Please upload a valid CSV file.");
}
}
</script>
</head>
<body>
<input type="file" id="fileUpload" />
<input type="button" id="upload" value="Upload" onclick = "Upload()" />
<hr />
</body>
</html>
問題是我得到的輸出如下:
0,
[object Object] 0,
[object Object],
1,
[object Object] 0,
[object Object],
1,
[object Object],
2,
[object Object] 0,
[object Object],
1,
[object Object],
2,
[object Object],
3,
[object Object] 0,
[object Object],
1,
[object Object],
2,
[object Object],
3,
[object Object],
4,
[object Object] 0,
[object Object],
1,
[object Object],
2,
[object Object],
3,
[object Object],
4,
[object Object],
5,
[object Object] 0,
[object Object],
1,
[object Object],
2,
[object Object],
3,
[object Object],
4,
[object Object],
5,
[object Object],
6,
[object Object] 0,
[object Object],
1,
[object Object],
2,
[object Object],
3,
[object Object],
4,
[object Object],
5,
[object Object],
6,
[object Object],
7,
[object Object]
我希望輸出為:
[1, 20.248602],
[2, 18.54032],
… etc.,
但我沒弄錯我做錯的地方。 我該如何解決? 請幫忙。
這是CSV
文件,其中包含:
name,marks,rank
a,20.248602,a+
b,18.54032,ko+
c,18.254036,ko+
d,15.217833,ok
e,13.194518,b-
f,17.521723,ko-
請像這樣修改您的for循環:
for (var i = 1; i < lines.length; i++) {
var obj = {};
var currentline = lines[i].split(",");
resul.push([i, currentline[1]]);
}
document.write(" " + resul.join());
就您的輸出而言,不需要任何嵌套的for循環
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.