【问题标题】:How to load a local csv file into a JavaScript array如何将本地 csv 文件加载到 JavaScript 数组中
【发布时间】:2018-11-11 03:26:13
【问题描述】:

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

假设我有一个这种 CSV 格式的文件:

红、绿、蓝、

橙色、黄色、黑色、、

靛蓝、紫色、海军蓝、...

感谢您的帮助。

【问题讨论】:

  • 或许你可以试试github.com/mholt/PapaParse
  • 我删除了我之前的 cmets。我可以使用 Papa Parse 为我的 csv 文件的每一行看到一个数组。我不得不点击小三角形来展开。我不知道如何通过 console.log 再次查看数组。

标签: javascript csv


【解决方案1】:
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 表中的 sn-p,您可以 var cells = rows[i].split("|"); 更改此行,无论您的 csv 文件用作分隔符。在这里,我将每行的每个单元格数据附加到表格行中,您可以省略它,只需将整个数据插入到数组中。如果这对您有帮助,请将其标记为已接受的答案。谢谢。

【讨论】:

    猜你喜欢
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 2013-08-28
    • 1970-01-01
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 2019-12-14
    相关资源
    最近更新 更多