@@ -54,22 +54,20 @@ def process_station_list(stationlist,id_col="id",agency_id_col="agency_id",
5454
5555 station_lookup
5656 Lookup file containing "id" and "agency_id" columns.
57-
58-
57+
5958 """
60-
61-
59+
6260 if param_col is not None and param is not None :
6361 raise ValueError ("Cannot use both param_col and param arguments" )
64-
65-
62+
6663 if isinstance (stationlist ,str ):
6764 station_df = pd .read_csv (stationlist ,sep = "," ,comment = "#" ,header = 0 )
6865 elif isinstance (stationlist ,list ):
6966 station_df = pd .DataFrame (data = {"id" :stationlist })
7067 else :
7168 station_df = stationlist
7269
70+
7371 # Rename the parameter column as param to standardize
7472 # If there is no param column, create one and populate all its rows with param.
7573 if param is not None : # only one parameter, append as column
@@ -101,8 +99,12 @@ def process_station_list(stationlist,id_col="id",agency_id_col="agency_id",
10199 station_df ["agency_id" ] = station_df ["agency_id" ].astype (str ).str .replace ("\' " ,"" ,regex = True )
102100
103101 # Replace parameters with lookup values from station_lookup. Failure will leave as-is, in case of mix.
104- if param_lookup :
105- vlookup = pd .read_csv (param_lookup ,sep = "," ,comment = "#" ,header = 0 ,usecols = ['var_name' ,'src_var_id' ,'src_name' ],dtype = str )
102+ if param_lookup is not None :
103+ if isinstance (param_lookup ,str ):
104+ vlookup = pd .read_csv (param_lookup ,sep = "," ,comment = "#" ,header = 0 ,
105+ usecols = ['var_name' ,'src_var_id' ,'src_name' ],dtype = str )
106+ else :
107+ vlookup = param_lookup
106108 vlookup = vlookup .loc [vlookup .src_name == source ,:]
107109 vlookup .rename (columns = {"var_name" :"param" },inplace = True )
108110 station_df = station_df .merge (vlookup ,on = "param" ,how = "left" )
0 commit comments