Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过csv jQuery解析csv并生成报告?_Javascript_Jquery_Csv_Jquery Csv - Fatal编程技术网

Javascript 如何通过csv jQuery解析csv并生成报告?

Javascript 如何通过csv jQuery解析csv并生成报告?,javascript,jquery,csv,jquery-csv,Javascript,Jquery,Csv,Jquery Csv,假设您有这样的csv数据,我可以从网页上的文本区域读取它们: 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').cli

假设您有这样的csv数据,我可以从网页上的文本区域读取它们:

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>

$(文档).ready(函数(){
$(“#计算”)。单击(函数(){
$(“#报告”).empty();
var data=$('#input').val();
var值=$.csv.toObjects(数据);
$(“#报告”)。追加(值);
警报(数值);
});
});
但我得到的只是
[object object][object]
。。。 对我该做什么有什么建议吗?使用jQuery功能有什么方法可以做到这一点吗?

此函数返回对象数组

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

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

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

并使用row.person row.miles和row.country访问它,因为
value
是一个对象数组。哦,太好了。csv jQuery的文档太差了。这很有帮助,谢谢。我只需要找到一种方法来创建数据的Hashmap来计算平均值;对于(var i=data.length;i--){sum+=data[i][1];}var average=sum/data.length可能太多了,但我认为您需要创建一个哈希映射,它的索引是名称(a,B,…),值是总英里数和平均值。@user843681如果您仍然有问题,您应该问另一个问题。
person,miles,country
A,10,USA
B,5,UK
A,2,USA