1

想象一下,你有这样的 csv 数据,我可以从我网页上的 textarea 中读取它们:

A,10,USA
B,5,UK
A,2,USA

我正在尝试使用 cs-jQuery 来解析和处理这些数据以获得以下报告:

A has ran 12 miles with average of 6. 
B has ran 5 miles with average of 5. 

我编写的代码如下所示:

<script>
$(document).ready(function() {
    $('#calculate').click(function() {
        $('#report').empty();
        var data = $('#input').val();
        var values = $.csv.toObjects(data);
        $('#report').append(values);
        alert(values);
    });
});
</script>

但我得到的只是[object Object] [object Object]......关于我应该做什么的任何建议?有什么方法可以用 jQuery 功能做到这一点?

4

1 回答 1

2

此函数$.csv.toObjects()返回对象数组

用于将多行 CSV 数据解析为以 {header:value} 形式表示数据的对象数组。除非被覆盖,否则假定第一行数据包含标题。

您没有标头,因此您应该使用$.csv.toArrays()并迭代该数组:

$.each($.csv.toArrays(data), function(_, row) {
   $('#report').append('<div>' + row[0] + ' has ran ' + row[1] + ' miles</div>');
});

如果你想使用 toObjects 你需要把标题

person,miles,country
A,10,USA
B,5,UK
A,2,USA

并使用 row.person row.miles 和 row.country 访问它

于 2013-03-18T15:33:01.273 回答