[docs]defload_csv(fname,parse_str,parse_map):""" Can raise KeyError if parse_str does not map into parse_map """delimiter=parse_str[0]ifdelimiterin["-"]:delimiter=Noneparse_str=parse_str[1:]ifdelimiterisNone:subkeyspl=parse_str.split()else:subkeyspl=parse_str.split(delimiter)key_gen=[]forskinsubkeyspl:key_gen.append(parse_map[sk])farr=np.genfromtxt(fname,delimiter=delimiter,filling_values=float("NaN"),)fdict=dict()foridx_colinrange(farr.shape[0]):fdict[str(idx_col)]=farr[idx_col]ifidx_col<len(subkeyspl):sk=key_gen[idx_col]ifskisnotNone:fdict[sk]=farr[idx_col]returnfdict