-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathquery.py
More file actions
29 lines (23 loc) · 1.01 KB
/
query.py
File metadata and controls
29 lines (23 loc) · 1.01 KB
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
import requests
import pandas as pd
import sys
def get_data_at(filename, ticker, query_time, verbose=False):
data = pd.read_csv(filename)
row = data[(data['Ticker'] == ticker) & (data['Time'] == query_time)]
for c, v in row.to_dict('records')[0].items():
print(f'{c}: {v}')
if verbose:
print(f'Number of rows: {len(data)}')
print(f'Number of columns: {len(data.columns)}')
print(f'Columns: {", ".join(data.columns)}')
class InvalidArgumentsException(Exception):
pass
if __name__ == "__main__":
if len(sys.argv) < 9:
raise InvalidArgumentsException(
'Invalid format\n\nProper format is \n>>> python3 query.py –verbose True/False –file info_filename –ticker ticker –time time')
verbose = sys.argv[sys.argv.index('-verbose') + 1] == 'True'
filename = sys.argv[sys.argv.index('-file') + 1]
ticker = sys.argv[sys.argv.index('-ticker') + 1]
qtime = sys.argv[sys.argv.index('-time') + 1]
get_data_at(filename, ticker, qtime, verbose)