"""ASIRI-RAWI MP3056A Radiometer Data Parse: Parses line 91 data from a list of Radiometrics MP3000A level 0 csv files Assumes files are in current directory. Output also written to the current directory. Byron Blomquist, NOAA/ESRL/PSD3, Jul 2015 """ import os # open files for output fout = open('lv0_91.txt', 'w') # Write a header line into each file hdr = 'Record,Date_Time,ID,Rain_V,V1,V2,TkBB1_K,TkBB2_K,TCab_K,Tirt0_K,Tirt1_K,T5_K,T6_K,T7_K,Vdist,' hdr += '+12V,+8V,+5V,+3.3V,+2.5V,-5V,2.5VR,Pres-T_K,Pres_V,Pres-ref_V,Pres_mb,Tamb_K,' hdr += 'Rh_%,Tirt_K,TECV0,TEC0_%,Tant0_K,Tknd0_K,Tif0_K,TCase0_K,RCV0-+8V,Vnd0_on,' hdr += 'Vnd0_off,TECV1,TEC1_%,Tant1_K,Tknd1_K,Tif1_K,TCase1_K,RCV1-+8V,Vnd1_on,Vnd1_off,' hdr += 'R44,E_+_W_-_Tilt,N_+_S_-_Tilt,R47\r' fout.write(hdr) # assume current directory contains level 2 csv files, # dump list of data file names into list variable files = [f for f in os.listdir('.') if f.endswith('lv0.csv')] # parse data files and save into txt files for file in files: print file fin = open(file) for line in fin: cleanLine = line.strip() if cleanLine.endswith(','): lineOut = cleanLine[0:-1] + '\r' else: lineOut = cleanLine + '\r' fields = cleanLine.split(',') if fields[2] == '91': fout.write(lineOut) fout.close() # end