-
Notifications
You must be signed in to change notification settings - Fork 3
/
job_openings_covid.py
78 lines (56 loc) · 2.54 KB
/
job_openings_covid.py
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
"""
CSC110 Final Project: JobOpeningsCovid Graph class
Module Description
==================
This module contains the code for the JobOpeningsCovid Graph. It inherits from the abstract class Graph.
At the bottom of the file we've provided code to run doctest and python_ta.
Copyright and Usage Information
===============================
This file is provided solely for the personal and private use of TAs and instructors
teaching CSC110 at the University of Toronto St. George campus. All forms of
distribution of this code, whether as given or with any changes, are
expressly prohibited. For more information on copyright for CSC110 materials,
please consult our Course Syllabus.
This file is Copyright (c) 2021 Chenika Bukes, Krishna Cheemalapati, Aryan Goel, and Dhairya Khara.
"""
import datetime
import time
import pandas as pd
from pandas import DataFrame
from graph import Graph
class JobOpeningsCovid(Graph):
""" JobOpeningsCovid class inheriting from parent class Graph
Instance Attributes:
- _ticker: a string of a stock ticker inputted by the user
Representation Invariants:
- len(self._ticker) > 0
"""
_ticker: str
def __init__(self, stock: str) -> None:
""" Initializes JobOpeningsCovid which inherits from Graph with the specified ticker"""
Graph.__init__(self, stock)
def get_stock_data(self) -> DataFrame:
""" Returns stock data for the specified stock ticker """
period1 = int(time.mktime(datetime.datetime(2020, 4, 1, 0, 0).timetuple()))
period2 = int(time.mktime(datetime.datetime(2021, 8, 30, 23, 59).timetuple()))
query_string = f'https://query1.finance.yahoo.com/v7/finance/download/{self._ticker}?period1={period1}&period2={period2}'
return pd.read_csv(query_string)
def get_values_of_independent_var(self) -> list:
""" Returns a list of data points for the specified independent variable """
list_so_far = []
adf = pd.read_excel('Unemployed_Per_Opening.xlsx', sheet_name='COVID')
for _, row in adf.iterrows():
list_so_far.append(row['Total'])
return list_so_far
if __name__ == '__main__':
import python_ta
python_ta.check_all(config={
'extra-imports': ['python_ta.contracts', 'statistics', 'numpy', 'pandas', 'datetime', 'time', 'graph'],
'max-line-length': 200,
'disable': ['R1705', 'C0200']
})
import python_ta.contracts
python_ta.contracts.DEBUG_CONTRACTS = False
python_ta.contracts.check_all_contracts()
import doctest
doctest.testmod()