title: Pandas reading csv as string type
body: <p>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 format, I have keys which are strictly numeric or even worse, things like: 1234E5 which Pandas interprets as a float. This obviously makes the key completely useless.</p>
  
  <p>The problem is when I specify a string dtype for the data frame or any column of it I just get garbage back. I have some example code here:</p>
  
  <pre><code>df = pd.DataFrame(np.random.rand(2,2),
                    index=['1A', '1B'],
                    columns=['A', 'B'])
  df.to_csv(savefile)
  </code></pre>
  
  <p>The data frame looks like:</p>
  
  <pre><code>           A         B
  1A  0.209059  0.275554
  1B  0.742666  0.721165
  </code></pre>
  
  <p>Then I read it like so:</p>
  
  <pre><code>df_read = pd.read_csv(savefile, dtype=str, index_col=0)
  </code></pre>
  
  <p>and the result is:</p>
  
  <pre><code>   A  B
  B  (  &lt;
  </code></pre>
  
  <p>Is this a problem with my computer, or something I'm doing wrong here, or just a bug?</p>