I have a data frame with alpha-numeric keys which I want to save as a csv and read back later. For various reasons I need to explicitly read this key column as a string form
Like Anton T said in his comment, pandas will randomly turn object types into float types using its type sniffer, even you pass dtype=object, dtype=str, or dtype=np.str.
Since you can pass a dictionary of functions where the key is a column index and the value is a converter function, you can do something like this (e.g. for 100 columns).
pd.read_csv('some_file.csv', converters={i: str for i in range(0, 100)})
You can even pass range(0, N) for N much larger than the number of columns if you don't know how many columns you will read.