如何将本地csv文件加载到JavaScript数组中

时间:2018-11-11 03:26:14

标签: javascript csv

我能够在网页上显示csv文件中的内容(基于我在本网站上找到的内容),但是如何将csv值读入JavaScript中的数组中?

如果我有一个CSV格式的文件,

红色,绿色,蓝色...

橙色,黄色,黑色,

靛蓝,紫色,海军蓝,...

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

function UploadCSV() {
var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.csv|.txt)$/;
if (regex.test($("#fileUpload").val().toLowerCase())) {
    if (typeof (FileReader) != "undefined") {
        var reader = new FileReader();
        reader.onload = function (e) {
            try{
                var table = $("<table />");
                var rows = e.target.result.split("\n");
                for (var i = 0; i < rows.length; i++) {
                    var row = $("<tr />");
                    var cells = rows[i].split("|");
                    if (cells.length > 1) {
                        for (var j = 0; j < cells.length; j++) {
                            var cell = $("<td />");
                            var td = cells[j].replace(/[^\x00-\x7F]/g, "");
                            cell.text(td);
                            row.append(cell);
                        }
                        table.append(row);
                    }

                }
                $("#dvCSV").html('');
                $("#dvCSV").append(table);
            }
            catch(e)
            {
                $('#meessageBar1').text(e.message);
                $('#meessageBar1').fadeIn("slow", function () {
                    setTimeout(messageBar1Remove, 2000);
                });
            }
        }
        reader.readAsText($("#fileUpload")[0].files[0]);
    } else {
        $('#meessageBar1').text('This browser does not support HTML5.');
        $('#meessageBar1').fadeIn("slow", function () {
            setTimeout(messageBar1Remove, 2000);
        });
    }
}

}

这是我用来从PIPE('|')分隔的csv文件数据读取数据到HTML表中的代码段,无论您将csv文件用作分隔符,您都可以var cells = rows[i].split("|");更改此行。在这里,我将每行的每个单元格数据附加到表行中,您可以省略此操作,而只需将整个数据插入数组即可。如果这对您有帮助,请将其标记为可接受的答案。谢谢。