title: How to force pandas read_csv to distinguish betwen nan and empty string
body: <p>I would like pandas read_csv to properly read the following example text into a DataFrame:  </p>
  
  <p><code>"INDEX"|"COLUMN_STRING"|"COLUMN_INTEGER"|"COLUMN_EMPTY"|"COLUMN_EMPTY_STRING"
  1|"string"|21||""
  </code></p>
  
  <p>The file I need to parse has all the values that should be strings wraped with <code>""</code>.
  Values that should be <code>NaN</code> are without double quotes, like that: <code>||</code></p>
  
  <p>I would like read_csv to keep all the "quoted" values as strings, also <code>""</code>, but
  it forces <code>NaN</code> as a default value for <code>""</code>.</p>
  
  <p>If I use <code>keep_default_na=False</code>, it sets empty strings <code>''</code> to both <code>||</code> and <code>|""|</code>.</p>
  
  <p>Also, using <code>dtype={"COLUMN_EMPTY_STRING": str}</code> doesn't help.<br>
  Does anybody know the solution to this pickle?</p>
  
  <p>Another possible solution, would be to use <code>quoting=3</code>. This would keep strings as <code>"string"</code>, which could be solved after parsing. I cannot use it though, since I'm providing <code>index_col</code> argument, which raises error since it cannot find e.g. <code>INDEX</code>, because it reads <code>"INDEX"</code> from the file.</p>