【问题标题】:Google charts csv ignore first rows谷歌图表 csv 忽略第一行
【发布时间】:2016-07-15 07:49:02
【问题描述】:

我有以下谷歌图表代码,它从我的网络服务器上的本地 CSV 文件中读取。

这很棒,效果很好。

但是,当它“上线”时我将使用的文件将自动生成,并且有 10 行的标题,我想忽略这些文件(不应读取数据)。

有没有办法改变这个脚本来忽略 CSV 文件的前 10 行?

<script type='text/javascript'>
   // load the visualization library from Google and set a listener
   google.load("visualization", "1", {packages:["corechart"]});
   google.setOnLoadCallback(drawChartfromCSV);

   function drawChartfromCSV(){
     // grab the CSV
         $.get("EDU_INST_SCHOOL_EXPENDTR_29_1.csv", function(csvString) {
         // transform the CSV string into a 2-dimensional array
            var arrayData = $.csv.toArrays(csvString, {onParseValue: $.csv.hooks.castToScalar});
         // this new DataTable object holds all the data
            var data = new google.visualization.arrayToDataTable(arrayData);
         // this view can select a subset of the data at a time
            var view = new google.visualization.DataView(data);
            view.setColumns([0,2]);
         var options = {
         title: "EDUCATIONAL INSTITUTIONS, SCHOOLS AND EXPENDITURE - INDIA",
          hAxis: {title: data.getColumnLabel(0), minValue: data.getColumnRange(0).min, maxValue: data.getColumnRange(0).max},
          vAxis: {title: data.getColumnLabel(2), minValue: data.getColumnRange(2).min, maxValue: data.getColumnRange(2).max},
          legend: 'none'
          };
          var chart = new google.visualization.LineChart(document.getElementById('csv2chart'));
          chart.draw(view, options);
         });
   }
   </script>

【问题讨论】:

    标签: csv charts


    【解决方案1】:

    您可以在创建 DataTable 之前从数组中删除元素...

    Array.prototype.shift() 从数组中删除第一个元素

         // transform the CSV string into a 2-dimensional array
            var arrayData = $.csv.toArrays(csvString, {onParseValue: $.csv.hooks.castToScalar});
    
         // remove unwanted headers
            var removeRows = 10;
            while (removeRows--) {
              arrayData.shift();
            }
    
         // this new DataTable object holds all the data
            var data = new google.visualization.arrayToDataTable(arrayData);
    

    【讨论】:

    • 这个问题好运吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多