Sabtu, 01 Juli 2017

Reading JSON Format with Python

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.



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')


Mudah bukan? Untuk mengolah data JSON menggunakan Python hanya dengan puluhan baris code saja sudah bisa menampilkan grafik.
Posting Komentar