Skip to content

Instantly share code, notes, and snippets.

@abihf
Created April 6, 2020 16:31
Show Gist options
  • Save abihf/1250a12d11a7a6d7773e2bd14d8258e8 to your computer and use it in GitHub Desktop.
Save abihf/1250a12d11a7a6d7773e2bd14d8258e8 to your computer and use it in GitHub Desktop.
Download Indonesia Covid19 Data as CSV
#!/usr/bin/env python3
import http.client
import json
import datetime
conn = http.client.HTTPSConnection("services5.arcgis.com")
def main():
cur_date = datetime.datetime.now().strftime('%Y-%m-%d')
export_csv('covid19-per-prov-%s.csv' % cur_date, "/VS6HdKS0VfIhv8Ct/arcgis/rest/services/COVID19_Indonesia_per_Provinsi/FeatureServer/0/query?f=json&where=(Kasus_Posi%20%3C%3E%200)%20AND%20(Provinsi%20%3C%3E%20'Indonesia')&returnGeometry=false&spatialRel=esriSpatialRelIntersects&outFields=*&orderByFields=FID%20asc&outSR=102100&resultOffset=0&resultRecordCount=50&cacheHint=true")
export_csv('covid19-per-day.csv', "/VS6HdKS0VfIhv8Ct/arcgis/rest/services/Statistik_Perkembangan_COVID19_Indonesia/FeatureServer/0/query?f=json&where=Tanggal%3Ctimestamp%20'" + cur_date + "%2017%3A00%3A00'&returnGeometry=false&spatialRel=esriSpatialRelIntersects&outFields=*&orderByFields=Tanggal%20desc&outSR=102100&resultOffset=0&resultRecordCount=2000&cacheHint=true")
def export_csv(file_name, url):
print('Fetching %s' % url)
conn.request("GET", url, "")
res = conn.getresponse()
data = json.loads(res.read().decode("utf-8"))
with open(file_name, 'w') as f:
for field in data['fields']:
f.write('%s\t' % field['alias'])
f.write('\r\n')
for item in data['features']:
for field in data['fields']:
f.write('%s\t' % item['attributes'][field['name']])
f.write('\r\n')
print(' Saved to %s', file_name)
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment