×

Reading JSON Format with Python

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

You May Have Missed