如何在JavaScript中将.csv文件转换为数组/矩阵[duplicate]

ct3nt3jp  于 2023-01-10  发布在  Java
关注(0)|答案(1)|浏览(112)
    • 此问题在此处已有答案**:

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非常陌生,所以请耐心等待:)

bnlyeluc

bnlyeluc1#

这是上半场的答案。
当你使用FileReader.prototype.readAsText时,你必须等待它完成。你可以使用loadend事件来检查这一点。然后,FileReaderresult属性将包含该字符串。
文件:https://developer.mozilla.org/en-US/docs/Web/API/FileReader

相关问题