Spaces:
Running
Running
| 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() | |