0

我有一个 python 代码,例如:

import csv
reader = csv.reader(open('myText.txt', 'r'), delimiter=",")
for row in reader:
print row[0] + 'is' + row[1] + '</br>'

我在 JS 或 JQuery 中寻找类似的操作/代码[1] 。这个动作的名字也很受欢迎。我正在探索 JS,想知道是否有办法获取在线/离线 csv,对其进行解析、迭代、相应地在我的网站中注入一些 HTML。

[1]:更准确地说,我寻找reader = csv.reader(open('myText.txt', 'r'), delimiter=",")的 JS 翻译,剩下的我可以管理。

注意: myText.txt 将是这个在线文件

4

2 回答 2

2

对于给定的 CSV 文件,我认为这样的内容就足够了(仅使用jquery):

$.get('/path/to/pinyinipamapping.csv')
.done(function(csvData) {
    var body = $('body');
    csvData.split(/\r\n|\n/).forEach(function (rowStr) {
        if (rowStr[0] != '#') {
            var row = rowStr.split(',');
            body.append('<p>' + row[0] + 'is' + row[1] + '</p>');
        }
    });
});

但是,这不适用于带引号的逗号等。

如需更完整的 CSV 解析,请查看使用此博客文章中的代码解析 CSV 数据的 Javascript 代码。此外,您可以考虑使用jQuery-csv 库,尽管它处于测试阶段。

于 2013-03-11T23:03:17.587 回答
1

对于一个快速简单的文件,它可能是这样的:(受此答案启发的代码)

 // Put here the url to the file
 url = "https://raw.github.com/cburgmer/cjklib/master/cjklib/data/pinyinipamapping.csv";

    $.ajax({
        type: "GET",
        url: url,
        dataType: "text",
        success: function(data) {processData(data);}
     });


function processData(allText) {
    // Get an array of lines
    var allTextLines = allText.split(/\r\n|\n/);
    // Get the number of columns using the first row
    var entries = allTextLines[0].split(',');
    var lines = [];

    // while there are elements in the row
    while (entries.length>0) {
        // remove that line, split it and store in our array 
        lines.push(entries.shift().split(','));
    }
    // Now do your stuff with the array lines

}
于 2013-03-11T23:02:05.643 回答