我能够在网页上显示 csv 文件的内容(基于我在本网站上找到的内容),但是如何在 JavaScript 中将 csv 值读取到数组中?
假设我有一个 CSV 格式的文件:
红,绿,蓝,,
橙色,黄色,黑色,,
靛蓝、紫色、海军蓝、...
感谢任何帮助。
最佳答案
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 表中的代码片段,您可以 var cells = rows[i].split("|");
code> 无论您的 csv 文件用作分隔符,都更改此行。在这里,我将每行的每个单元格数据附加到表行中,您可以省略此操作,只需将整个数据插入到数组中。如果这对您有帮助,请将其标记为已接受的答案。谢谢。
关于javascript - 如何将本地 csv 文件加载到 JavaScript 数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53245580/