File size: 1,141 Bytes
0a7b47e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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()