Reading JSON Format with Python
1,203 Views
Sinopsis
Script yang saya buat sebenarnya mempunyai tugas yang sangat sederhana sekali yaitu membaca format JSON dari sebuah web service, karena data tersebut digunakan untuk melakukan analisis terdapat penjualan harian sebuah toko. Berikut merupakan keluaran JSON tersebut.
[{"label":"12-04-17","y":1800000},{"label":"14-04-17","y":1800000},{"label":"15-04-17","y":180000},{"label":"16-04-17","y":180000},{"label":"17-04-17","y":1800000},{"label":"18-04-17","y":1700000},{"label":"19-04-17","y":1800000},{"label":"20-04-17","y":1800000},{"label":"21-04-17","y":1700000},{"label":"22-04-17","y":1800000},{"label":"23-04-17","y":1800000},{"label":"24-04-17","y":1800000},{"label":"25-04-17","y":1700000},{"label":"26-04-17","y":1800000},{"label":"27-04-17","y":1800000},{"label":"28-04-17","y":1800000},{"label":"29-04-17","y":1800000},{"label":"30-04-17","y":1800000},{"label":"01-05-17","y":1800000},{"label":"02-05-17","y":1800000},{"label":"03-05-17","y":1800000},{"label":"04-05-17","y":1800000},{"label":"05-05-17","y":1800000},{"label":"06-05-17","y":1800000},{"label":"07-05-17","y":1800000},{"label":"08-05-17","y":1800000},{"label":"09-05-17","y":180000},{"label":"10-05-17","y":1800000},{"label":"11-05-17","y":188888},{"label":"12-05-17","y":1800000},{"label":"13-05-17","y":1800000},{"label":"14-05-17","y":1800000},{"label":"15-05-17","y":1800000},{"label":"16-05-17","y":1800000},{"label":"17-05-17","y":188888},{"label":"18-05-17","y":188888},{"label":"19-05-17","y":188888},{"label":"20-05-17","y":188888},{"label":"21-05-17","y":188888},{"label":"22-05-17","y":1800000},{"label":"01-06-17","y":1300000},{"label":"02-06-17","y":1500000},{"label":"03-06-17","y":1500000},{"label":"04-06-17","y":1500000},{"label":"05-06-17","y":1400000},{"label":"06-06-17","y":1250000},{"label":"07-06-17","y":1300000},{"label":"08-06-17","y":1200000},{"label":"09-06-17","y":1200000},{"label":"10-06-17","y":1250000},{"label":"11-06-17","y":1300000},{"label":"12-06-17","y":1200000},{"label":"13-06-17","y":1800000},{"label":"14-06-17","y":1800000},{"label":"15-06-17","y":1800000},{"label":"16-06-17","y":1800000},{"label":"17-06-17","y":1800000},{"label":"18-06-17","y":1800000},{"label":"19-06-17","y":1200000},{"label":"20-06-17","y":1200000}]
Terdapat id yaitu y dan label, dimana y merupakan omzet dalam rupiah dan label merupakan tanggal transaksi harian. Kemudian kita akan menggunakan Python dan sedikit grafik untuk melihat trend penjualannya, tentu kita akan menggunakan beberapa library seperti urllib, matplotlib, numpy, dan json. Karena hal yang mudah membuat web service cukup menggunakan PHP dengan framework codeigniter. Menggunakan library json, urlib untuk membaca data dari protokol HTTP
import urllib import json from matplotlib import pyplot as plt import numpy as np def ritelDataTransaksi(): url = "http://localhost/pospay/index.php/transaksi_ritel/json_data_transaksi_30_terakhir" f = None try: f = urllib.urlopen(url) except: print 'error koneksi' if f!=None: myfile = f.read() d = json.loads(myfile) x = list() y = list() for i in range(0,len(d)): x.append(d[i]['y']) y.append(d[i]['label']) x = np.array(x) fig = plt.figure(1) ax = fig.add_subplot(111) plt.plot(x) ax.set_xticklabels(y, rotation = 45) ax.axis(ymin=0,ymax=2000000) plt.title('Omzet Harian') plt.show() else : print 'error koneksi' ritelDataTransaksi() k = input('ok')