in script/yahoo_idx.py [0:0]
def write_data(data: Dict[str, pd.DataFrame], start_date: str, end_date: str) -> None:
"""Writes data as csv to local storge folder 'data'
naming based on ticker and dates
Args:
data (Dict[str, pd.DataFrame]): Dictionary of raw data as dataframe objects
with the ticker filename as the key
start_date (str): date for pull range to start
end_date (str): date for pull range to end
Raises:
KeyError: When file fails to write
"""
if type(tickers) != type(dict()):
raise TypeError("Data not passed as dictionary")
if type(start_date) != type(str()) and type(end_date) != type(str()):
raise TypeError("Dates need to be strings")
for k, v in data.items():
try:
path = f"./data/{k}/"
os.makedirs(path, exist_ok=True)
file_name = path + k + "_" + start_date + "_" + end_date + ".csv"
df = v.reset_index()
df.to_csv(file_name, index=False)
print(f"Wrote {file_name}")
except KeyError as ke:
print(f"Failed to write file for {k}")