From e2486df68043775d72194ea60a24bdd31d1ea989 Mon Sep 17 00:00:00 2001 From: askiiart Date: Fri, 23 Dec 2022 13:49:37 -0600 Subject: [PATCH] Initial commit - buildings download completed --- main.py | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 main.py diff --git a/main.py b/main.py new file mode 100644 index 0000000..ac18694 --- /dev/null +++ b/main.py @@ -0,0 +1,51 @@ +import os +import csv +import pickle +from pprint import pprint + +try: + from wget import download +except ImportError as e: + print('Error: Please install wget using "pip install wget"') + exit(1) + +def download_and_process(buildings_file_name, debug=False): + + if 'data' not in os.listdir(): + os.mkdir('data') + os.chdir('data') + if debug: + print(os.listdir()) + + # Buildings download + if f'{buildings_file_name[:-4]}.pickle' in os.listdir(): + pickle.load(open(f'{buildings_file_name[:-4]}.pickle', 'rb')) + elif buildings_file_name not in os.listdir(): + if debug: + print('Downloading building info...') + download( + 'https://docs.google.com/spreadsheets/d/16J269YAFTVy_IPuzGUXfV_4-Rplzk1LVk7YpsvDcEVY/export?format=tsv', + buildings_file_name) + if debug: + print('Building info downloaded') + else: + print('Building info already downloaded, but not pickled') + + # Buildings tsv processing + with open(buildings_file_name) as file: + reader = csv.reader(file, delimiter='\t') # Changes delimiter to tab for .tsv files + buildings = {} + for row in reader: + temp = list(row) + buildings[temp[0].lower()] = [row[i].lower() for i in range(1, len(row))] + pickle.dump(buildings, open(f'{buildings_file_name[:-4]}.pickle', 'wb')) + + return buildings + + os.chdir('..') + + +print('Downloading and processing buildings...') +buildings = download_and_process('buildings.tsv') +print('Buildings downloaded and processed') +print()