-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathproses_akuisisi.py
114 lines (94 loc) · 2.63 KB
/
proses_akuisisi.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# -*- coding: utf-8 -*-
"""Proses Akuisisi.ipynb
Automatically generated by Colaboratory.
Original file is located at
https://colab.research.google.com/drive/1uGlDT8SBzbMhJ51Qaa4W6QcPlgQXsc6K
"""
import pandas as pd
import numpy as np
mappingFungsi = {
'01' : 'Pelayanan Umum',
'02' : 'Pertahanan',
'03' : 'Ketertiban dan Keamanan',
'04' : 'Ekonomi',
'05' : 'Lingkungan Hidup',
'06' : 'Perumahan dan Fasilitas Umum',
'07' : 'Kesehatan',
'08' : 'Pariwisata',
'09' : 'Agama',
'10' : 'Pendidikan',
'11' : 'Perlindungan Sosial'
}
listProvinsi = [
"Bangka Belitung",
"Kalimantan Utara",
"Gorontalo",
"Kepulauan Riau",
"Sulawesi Barat",
"Kalimantan Tengah",
"Kalimantan Timur",
"Banten",
"Papua Barat",
"Kalimantan Barat",
"Maluku",
"Lampung",
"Maluku Utara",
"Jawa Timur",
"Bali",
"Sulawesi Tengah",
"Jambi",
"Sulawesi Utara",
"Bengkulu",
"Sumatera Barat",
"Nusa Tenggara Barat",
"Papua",
"Riau",
"Sumatera Selatan",
"Aceh",
"Kalimantan Selatan",
"Nusa Tenggara Timur",
"Sumatera Utara",
"Sulawesi Tenggara",
"DI Yogyakarta",
"Sulawesi Selatan",
"Jawa Tengah",
"Jawa Barat",
"DKI Jakarta"
]
for tahunidx in range (2010, 2022):
tahun = str(tahunidx)
for i in range(1,12):
idx = str(i)
if (i < 10):
idx = '0' + str(i)
exec('df{}{} = pd.read_html("/gdrive/MyDrive/Noob Master/Data Peta APBN/{}.{}.xls")[0]'.format(idx,tahun,idx,tahun))
df2010 = pd.DataFrame()
for tahunidx in range(2010, 2022):
tahun = str(tahunidx)
exec('df{} = pd.DataFrame()'.format(tahun))
for provinsi in listProvinsi:
tempfungsi = []
tempval = []
for i in range (1,12):
idx = str(i)
if (i < 10):
idx = '0' + str(i)
exec('dftemp = df{}{}.loc[df{}{}["Map area name"] == "{}"]'.format(idx,tahun,idx,tahun, provinsi))
if (len(dftemp) > 0):
exec('tempval.append(dftemp["Unnamed: 1"].iloc[0])')
tempfungsi.append(mappingFungsi[idx])
else:
tempval.append(0)
tempfungsi.append(mappingFungsi[idx])
exec('df{} = df{}.append(pd.DataFrame({{"Fungsi":tempfungsi, "Nominal":tempval}}))'.format(tahun,tahun))
for tahunidx in range(2010,2022):
tahun = str(tahunidx)
exec('df{} = df{}.rename(columns={{"Nominal": "{}", "Fungsi": "Tahun"}})'.format(tahun,tahun,tahun))
exec('df{} = df{}.set_index("Tahun", drop=True)'.format(tahun,tahun))
exec('dftrans{} = df{}.T'.format(tahun,tahun))
dfall = pd.DataFrame()
for tahunidx in range(2010,2022):
tahun = str(tahunidx)
exec('dfall = dfall.append(dftrans{})'.format(tahun))
dfall
dfall.to_csv('Peta APBN Data.csv', index=True)