I have put together the following code:

    ## DEFINES INPUT FILES
    inputcsvT = ['./input_csv/A08_KI_T*.csv',           
'./input_csv/A08_LR_T*.csv',            './input_csv/A08_B1_T*.csv',]
                        #'./input_csv/A10_KI_T*.csv',           
'./input_csv/A10_LR_T*.csv',            './input_csv/A10_B1_T*.csv',
                        #'./input_csv/A11_KI_T*.csv',           
'./input_csv/A11_LR_T*.csv',            './input_csv/A11_B1_T*.csv',
                        #'./input_csv/A16_KI_T*.csv',           
'./input_csv/A16_LR_T*.csv',            './input_csv/A16_B1_T*.csv']
    
    inputcsvR = ['./input_csv/A08_KI_R*.csv',           
'./input_csv/A08_LR_R*.csv',            './input_csv/A08_B1_R*.csv',]
    
    ## DEFINES FUNCTIONS FOR CSV INPUT, MERGE AND HOURLY RESAMPLING
    def csv_import_merge_T(f):
        dfsT = [pd.read_csv(fp,  index_col=[0], parse_dates=[0], dayfirst=True, 
names=['datetime','temp','rh'], header=0) for fp in files] 
        dfT = pd.concat(dfsT)
        dfT = dfT.drop('rh', 1)
        #dfT[~dfT.index.duplicated()]   # replaced with function below
        dfT_clean = 
dfT.reset_index().drop_duplicates('datetime').set_index('datetime')
        dfTH = dfT_clean.resample('H').bfill()
        return dfTH
    
    
    def csv_import_merge_R(f):
        dfsR = [pd.read_csv(fp,  index_col=[0], parse_dates=[0], dayfirst=True, 
names=['datetime','rad'], header=0) for fp in files] 
        dfR = pd.concat(dfsR)
        #dfR[~dfR.index.duplicated()]   # replaced with function below
        dfR_clean = 
dfR.reset_index().drop_duplicates('datetime').set_index('datetime')
        dfRH = dfR_clean.resample('H').mean()
        return dfRH
    
    
    ## PERFORMS FUNCTIONS FOR ALL Ts AND Rs AND CALCULATES HEATING DEGREE HOURS 
(HDH) AS R-T WHEN XX_XX_R = XX_XX_T
    for csvnameT in inputcsvT:
        files = glob.glob(csvnameT)
        print ('___'); print (files)
        csvT = csvnameT[12:20]
        print csvT
        t = csv_import_merge_T(files)
        t.to_csv('./output_csv/'+ csvT + '.csv')
    
        for csvnameR in inputcsvR:
                files = glob.glob(csvnameR)
                print ('___'); print (files)
                csvR = csvnameR[12:20]
                r = csv_import_merge_R(files)
                print csvR
    
                while csvnameR[12:18] == csvnameT[12:18]:
                        print csvR + "=" + csvT
                        
                        r.to_csv('./output_csv/'+ csvR +'.csv')
                
                        hdh = r.sub(t,axis=0).dropna()
                        hdh[hdh['temp']<=1] = 0
                        csvHDH = csvnameT[12:18]
                        hdh_week = 
hdh.temp.resample('W-MON').sum().round(decimals=0)
                        hdh_week.to_csv('./output_csv/HDH/' + csvHDH + 
'_HDH.csv')

The sequence of action should be:
for A08_KI
 - import A08_KI_T1,T2,...Tn, merge them into A08_KI_T and resample them by the 
hour (room temp.)
 - import A08_KI_R1,R2,...Rn, merge them into A08_KI_R and resample them by the 
hour (radiator temp.)
 - every time XX_XX_R = XX_XX_T (i.e. A08_KI_T and A08_KI_R, or A10_LR_T and 
A10_LR_R) calculate HDH = R - T.

The code I developed has something wrong and the command:

    while csvnameR[12:18] == csvnameT[12:18]:
seems to cause the loop to go on for ever.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to