Javascript Python csv.reader()到JS?

Javascript Python csv.reader()到JS?,javascript,jquery,python,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>' 导入csv reader=csv.reader(打开('myText.txt','r'),分隔符=“,”) 对于读取器中的行: 打印行[0]+'是'+行[1]+'' 我在JS或JQuery中寻

我有一个python代码,例如:

import csv
reader = csv.reader(open('myText.txt', 'r'), delimiter=",")
for row in reader:
print row[0] + 'is' + row[1] + '</br>'
导入csv
reader=csv.reader(打开('myText.txt','r'),分隔符=“,”)
对于读取器中的行:
打印行[0]+'是'+行[1]+'
'
我在JS或JQuery中寻找类似的操作/代码[1]。这一行动的名称也值得欢迎。我正在探索JS,想知道是否有办法获得在线/离线csv,解析它,迭代,在我的网站中相应地注入一些HTML

[1] :更准确地说,我在寻找一个JS翻译的reader=csv.reader(open('myText.txt','r'),delimiter=“,”),我可以管理其余部分


注意:myText.txt将是

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


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


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

$.get('/path/to/pinyinipamapping.csv')
.done(函数(csvData){
变量body=$('body');
csvData.split(/\r\n |\n/).forEach(函数(rowStr){
if(rowStr[0]!='#'){
var row=rowStr.split(',');
body.append(“”+行[0]+'是“+行[1]+”

”); } }); });
但是,这不适用于带引号的逗号等


要获得更完整的CSV解析,请查看使用源代码的。此外,您可以考虑,虽然它是在beta中。

对于给定的CSV文件,我认为这样的事情应该足够了(只使用代码> jQuery < /代码>):

$.get('/path/to/pinyinipamapping.csv')
.done(函数(csvData){
变量body=$('body');
csvData.split(/\r\n |\n/).forEach(函数(rowStr){
if(rowStr[0]!='#'){
var row=rowStr.split(',');
body.append(“”+行[0]+'是“+行[1]+”

”); } }); });
但是,这不适用于带引号的逗号等


要获得更完整的CSV解析,请查看使用源代码的。此外,你可以考虑,虽然它是在beta版中。

在JavaScript中解析文本是很简单的,但是打开文件可能是个问题。你知道javascript在客户端运行吗?或者可以通过url访问该文件?我知道JS在客户端运行。我正在探索JS,想知道是否有办法获得在线/离线csv,解析它,迭代,在我的网站中注入相应的HTML。由于明显的安全原因,你不能用JS打开本地文件。如果它可以通过url访问,那么你可以做你需要的事情(假设它与网站位于同一个域中)。你是说“外部文件”?好的,所以目标csv需要在同一个网站上。我可以在我的网站上复制它,是的。用javascript解析文本非常简单,但是打开文件可能会有问题。你知道javascript在客户端运行吗?或者可以通过url访问该文件?我知道JS在客户端运行。我正在探索JS,想知道是否有办法获得在线/离线csv,解析它,迭代,在我的网站中注入相应的HTML。由于明显的安全原因,你不能用JS打开本地文件。如果它可以通过url访问,那么你可以做你需要的事情(假设它与网站位于同一个域中)。你是说“外部文件”?好的,所以目标csv需要在同一个网站上。我可以在我的网站上复制它,是的。从@Archer的评论中,我了解到只有当我的脚本和csv在同一个域上时,这个代码才会工作,对吗?我认为这不是那么容易。有点复杂。托管服务器需要明确地支持它。此外,它更挑剔,但你应该在回答中提到,这是不完整的。例如,它不会忽略原始csv文件中的注释行(以“#”开头)。从@Archer的注释中,我了解只有当我的脚本和csv在同一个域上时,此代码才能工作,对吗?我认为这不是那么容易。有点复杂。托管服务器需要明确地支持它。此外,它更挑剔,但你应该在回答中提到,这是不完整的。例如,它不会忽略原始csv文件中的注释行(以“#”开头)。我对您的答案进行了检查,但分两部分验证了@Fabio的答案,这两部分可能更容易适应各种上下文。但我也会使用你的部分代码。谢谢&+1!注意,他的回答不会忽略CSV中以“#”开头的注释。我对你的答案进行了修改,但用两个部分验证了@Fabio的答案,两个部分可能更容易适应不同的上下文。但我也会使用你的部分代码。谢谢&+1!注意,他的回答不会忽略CSV中以“#”开头的注释。
 // 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

}