Python csv.reader()到JS?

时间:2013-03-11 22:52:18

标签: javascript jquery python

我有一个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的JS翻译(open('myText.txt','r'),delimiter =“,”),I可以管理其余部分。

注意: myText.txt为this online file

2 个答案:

答案 0 :(得分: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解析,请查看使用Javascript code to parse CSV data中代码的this blog post。此外,您可以考虑使用jQuery-csv library,但它处于测试阶段。

答案 1 :(得分:1)

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

 // 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

}