wird angenommen, dass ich bereits eine CSV-Datenbank haben, und ein Feld haben 'Nein', 'Nama', 'umur'Wie JSON-Daten importieren Array in web2py (Python) Chart
Also ich data.csv
zu json erzeugt mit diesem Code in der Steuerung
import json
def getdata():
rows = db().select(db.csvfile.nama,
orderby=~db.csvfile.nama)
return json.dumps([r.nama for r in rows])
und das Ergebnis ist
["rinaldi", "puspita", "percusion", "odong", "hari novena", "dyah", "dorothea", "dito", "danur", "bahtiar", "alex"]
und ich habe Codetabelle erstellen
Controller:
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))
Ansicht:
{{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}}
Frage: 1. aus dem JSON-Array, bevor i erzeugt, wie ich feststellen, dass gestellt hatten in
def chart_bars():
data_nama="[]"
data_angka="[]"
Ich bin fest mit dem Code und dem Ergebnis von JSON, die "" nicht "" anzeigen, um die Zeichenfolge zu begrenzen?
Vielen Dank im Voraus
gelöst mit json.dumps und as.list(), aber ich habe eine andere Frage, die Daten zeigen alle Datensätze, aber ich möchte den gleichen Datensatz zusammenführen, zB: "str1", "str1", "str2", "str2". Ich möchte so "str1", "str2" zeigen – alexaxeel