2017-05-15 26 views
0

假设我已经有一个CSV数据库,并有一个字段“不”,“非农产品市场准入”,“umur”如何导入JSON数据图表中的web2py(Python)的阵列

于是我产生data.csv到JSON与此代码在控制器

import json 
def getdata(): 
    rows = db().select(db.csvfile.nama, 
         orderby=~db.csvfile.nama) 
    return json.dumps([r.nama for r in rows]) 

,其结果是

["rinaldi", "puspita", "percusion", "odong", "hari novena", "dyah", "dorothea", "dito", "danur", "bahtiar", "alex"] 

和我有代码来创建图表

控制器:

def chart_bars(): 
    data_nama="['alex','tito','dika','dyah','doro','puspita','hari','novena','hariawan','chrisfina','sutrini', 'tanti', 'puspita','alexaxeel']" #Change this dynamically 
    data_angka="[81,72,73,74,95,65,25,60,65,85,100, 60, 20, 50]" #Change this dynamically 
    title="Nama Chart" 
    stitle="web2py end highchats powered" 
    data_map={} 
    data_map["angka"]=data_angka 
    data_map["nama"]=data_nama 
    data_map['judul']=title 
    data_map['subjudul']=stitle 
    chart=""" 
    <script type="text/javascript"> 
    Highcharts.setOptions({ 
     lang:{ 
     downloadJPEG: "Download JPG", 
     downloadPDF: "Download PDF", 
     downloadPNG: "Download PNG", 
     downloadSVG: "Download SVG", 
     loading: "loading...", 
     noData: "Tidak ada data yang ditampilkan", 
     printChart: "Cetak Chart", 
     } 
     }); 

      // Build the chart 
      $('#chart').highcharts({ 
     chart: { 
      type: 'column' 
     }, 
     title: { 
      text: '%(judul)s' 
     }, 
     subtitle: { 
      text: '%(subjudul)s' 
     }, 
     xAxis: { 
      categories: %(nama)s, 
      crosshair: true 
     }, 
     yAxis: { 
      min: 0, 
      title: { 
       text: 'pencapaian target penjualan per hari' 
      } 
     }, 
     tooltip: { 
      headerFormat: '<span style="font-size:10px">{point.key}</span><table>', 
      pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' + 
       '<td style="padding:0"><b> {point.y:.1f} box/hari </b></td></tr>', 
      footerFormat: '</table>', 
      shared: true, 
      useHTML: true 
     }, 
     plotOptions: { 
      column: { 
       pointPadding: 0.2, 
       borderWidth: 0 
      } 
     }, 
     credits:{enabled:false}, 
     series: [{ 
      name: 'Sales & Marketing', 
      data: %(angka)s 

     }] 
    }); 
    </script> 
    """ %data_map 
    return dict(chart=XML(chart)) 

视图:

{{extend 'layout.html'}} 
<script src="{{=URL("static", "js", args="highcharts.js")}}" type="text/javascript"></script> 
<script src="{{=URL("static", "js", args="exporting.js")}}" type="text/javascript"></script> 
<div id="chart"></div> 
{{=chart}} 

问题: 1.从JSON阵列I之前产生的,我如何把该阵列分成

def chart_bars(): 
    data_nama="[]" 
    data_angka="[]" 

我卡与代码和JSON的结果显示“”不“分隔字符串?

在此先感谢

+0

通过使用json.dumps和as.list()解决,但我有另一个问题,数据显示所有记录,但我想合并相同的记录,例如:“str1”,“str1”,“str2”,“str2”。我想显示这样的“str1”,“str2” – alexaxeel

回答

0

使用json.dumpsas.list() 解决,但我还有一个问题,数据显示的所有记录,但我想合并相同的记录,例如:“STR1”,“STR1”,“ str2“,”str2“。我想显示像这样“str1”,“str2”