
    Oi                        S SK rS SKJr  \" \5      R                  5       R                  S   r\S-  S-  S-  rS\S\	S	\R                  4S
 jrS r\S:X  a  \" 5       r\" \R!                  5       5        \" \R#                  5       5        \" S\S   R%                  5       S\S   R'                  5       5        \" S\" \5      5        \" S5        \" \R*                  R-                  5       5        gg)    N)Path   datarawrates	file_path
value_namereturnc                 N   [         R                  " U 5      nUR                   Vs/ s H   o3R                  5       R	                  5       PM"     snUl        [        UR                  5      S:  a  [        U R                   S35      eUR                  S S 2S S24   R                  5       nSU/Ul        [         R                  " US   SS9US'   [         R                  " X!   SS9X!'   UR                  SU/S9R                  S/S9R                  S5      R                  SS9nU$ s  snf )	Nr   z" does not have at least 2 columns.datecoerce)errors)subsetTdrop)pdread_csvcolumnsstriplowerlen
ValueErrornameiloccopyto_datetime
to_numericdropnadrop_duplicatessort_valuesreset_index)r   r	   dfcs       GC:\Users\paul_\OneDrive\fx_macro_intraday\src\ingestion\rates_loader.py_load_two_col_csvr%      s    	Y	B-/ZZ8Z'')//#Z8BJ
2::INN++MNOO	BQB			B*%BJ6
8<BvJ]]2>(CBN 			&*-	.?6(?+;v;D;!	  I% 9s   'D"c                  x   [        [        S-  S5      n [        [        S-  S5      n[        [        S-  S5      n[        [        S-  S5      nU R                  US	S
S9nUR                  US	SS9nUR                  US	SS9nUS   US   -
  US'   US   US   -
  US'   UR                  S	5      R	                  SS9nU$ )Nzus2y.csvus2yzde2y.csvde2yz	us10y.csvus10yz	de10y.csvde10yr   inner)onhowleft	spread_2y
spread_10yTr   )r%   
RATES_PATHmerger    r!   )r'   r(   r)   r*   r"   s        r$   
load_ratesr3      s    Z*4f=DZ*4f=Dj;6@Ej;6@E	DV	1B	%F	/B	%F	/Bj2f:-B{O'{R[0B|			+	+	+	6BI    __main__z
Date range:r   tozRows:z	
Columns:)pandasr   pathlibr   __file__resolveparents	BASE_PATHr1   str	DataFramer%   r3   __name__r   printheadtailminmaxr   r   tolist r4   r$   <module>rG      s     N""$,,Q/	%''1
 3 2<< .$ zLE	%**,	%**,	/5=,,.eFm6G6G6IJ	'3u:	,	%--


 ! r4   