Spaces:
Runtime error
Runtime error
File size: 1,665 Bytes
b574d69 744d412 b574d69 |
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 |
import os
import logging
import pandas as pd
# Set up logging
logging.basicConfig(
level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
USERNAME = os.environ.get('USERNAME')
PASSWORD = os.environ.get('PASSWORD')
HOST = os.environ.get('HOST')
PORT = os.environ.get('PORT')
DATABASE_NAME = os.environ.get('DATABASE_NAME')
URL = f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/{DATABASE_NAME}"
# Read data from the database
logging.info('Reading data from NSE Bhav Copy')
nse_df = pd.read_sql_table('nse_bhav_copy', URL, parse_dates=['DATE'])
logging.info('Reading data from BSE Bhav Copy')
bse_df = pd.read_sql_table('bse_bhav_copy', URL, parse_dates=['DATE'])
logging.info('Reading data from Adj NSE Bhav Copy')
adj_nse_df = pd.read_sql_table('adj_nse_bhav_copy', URL, parse_dates=['DATE'])
logging.info('Reading data from Adj BSE Bhav Copy')
adj_bse_df = pd.read_sql_table('adj_bse_bhav_copy', URL, parse_dates=['DATE'])
def get_stock_data(name, start, end):
"""
Get stock data from the database
name: str - name of the stock
start: str - start date for the stock data
end: str - end date for the stock data
"""
is_nse = name.endswith('.NS')
if is_nse:
name = name[:-3]
adj_df = adj_nse_df if is_nse else adj_bse_df
df = nse_df if is_nse else bse_df
df = adj_df if name in adj_df['SYMBOL'].values else df
df = df.query('SYMBOL == @name')
if start and end:
df = df.loc[(df['DATE'] >= start) & (df['DATE'] <= end)]
elif start:
df = df.loc[df['DATE'] >= start]
elif end:
df = df.loc[df['DATE'] <= end]
return df
|