- 此问题在此处已有答案**:
Converting csv data into an array format(4个答案)
4小时前关门了。
我有一个. csv文件格式的表,我需要在我的程序中使用它。我需要做的是读取文件,然后将其转换为二维数组/矩阵。
我在下面找到了这段代码,它读取一个. csv文件并将其转换为字符串,但我不知道如何访问该字符串,并进一步将其转换为数组。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form id="myForm">
<input type="file" id="csvFile" accept=".csv" />
<br />
<input type="submit" value="Submit" />
</form>
<script>
const myForm = document.getElementById("myForm");
const csvFile = document.getElementById("csvFile");
myForm.addEventListener("submit", function (e) {
e.preventDefault();
const input = csvFile.files[0];
const reader = new FileReader();
reader.onload = function (e) {
const text = e.target.result;
document.write(text);
};
reader.readAsText(input);
});
</script>
</body>
</html>
我试着将字符串保存到变量中,但总是遇到错误,如"" text "is not defined"等。我对JavaScript非常陌生,所以请耐心等待:)
1条答案
按热度按时间bnlyeluc1#
这是上半场的答案。
当你使用
FileReader.prototype.readAsText
时,你必须等待它完成。你可以使用loadend
事件来检查这一点。然后,FileReader
的result
属性将包含该字符串。文件:https://developer.mozilla.org/en-US/docs/Web/API/FileReader