Fix CSV reading of mixed dtype columns

Will this be called if the return works?  Maybe we want `df = pd.read_csv(...` then f.close in finally block, then return