|
import json |
|
|
|
""" |
|
|
|
Data Mining Assignment - Group 5 |
|
|
|
""" |
|
|
|
class JSONProcessor: |
|
def __init__(self, input_file: str, output_file: str) -> None: |
|
self.input_file: str = input_file |
|
self.output_file: str = output_file |
|
self.data = None |
|
|
|
def load_json(self) -> None: |
|
with open(self.input_file, 'r') as file: |
|
self.data = json.load(file) |
|
|
|
def extract_symbols(self) -> list: |
|
if self.data is None: |
|
raise ValueError("data not loaded. call load_json() first.") |
|
quotes = self.data['finance']['result'][0]['quotes'] |
|
return [quote['symbol'] for quote in quotes] |
|
|
|
def save_json(self, data: list) -> None: |
|
with open(self.output_file, 'w') as file: |
|
json.dump({'symbols': data}, file, indent = 4) |
|
print(f'saved: {self.output_file}') |
|
|
|
def main(): |
|
input_file = './postman/response.json' |
|
output_file = './postman/symbols.json' |
|
|
|
processor = JSONProcessor(input_file, output_file) |
|
processor.load_json() |
|
symbols = processor.extract_symbols() |
|
processor.save_json(symbols) |
|
|
|
|
|
if __name__ == "__main__": main() |
|
|