有没有更有效的方法来检查列数?

时间:2018-07-11 23:30:53

标签: javascript jquery csv validation

因此,我正在尝试对正在使用的应用程序进行一些客户端验证,并且希望能够检查用户上传的CSV中的列数。 CSV可能非常大(最多3万行),所以我担心当前的方法(读取整个文件)不是最好的方法。

这就是我现在所拥有的。

// Function to validate the File Upload
$(document).ready(function() {
    $("#csv").change(function () {
        console.log("Read CSV Function Triggered");
        let theFile = document.getElementById("csv").files[0];
        let reader = new FileReader();
        reader.addEventListener('load', readFile);
        reader.readAsText(theFile);

        function readFile(event) {
            let csvText = event.target.result;
            let firstLine = csvText.split('\n').shift(); // First Line
            $("#result").html(firstLine);
        }
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="file" id="csv" />

<br>

<span id="result">0</span>

在该示例中,我仅使第一行显示在页面上,但是在应用程序中,我有一个解析器库,该示例库无法包含在该库中,该库将第一行转换为数组,然后得到长度数组。因此,就像我之前说的那样,此方法有效,但是我担心,当上传大型CSV时,它可能会影响浏览器性能。

有什么建议吗?

0 个答案:

没有答案