title: read_csv with missing/incomplete header or irregular number of columns
body: <p>I have a <code>file.csv</code> with ~15k rows that looks like this </p>
  
  <pre><code>SAMPLE_TIME,          POS,        OFF,  HISTOGRAM
  2015-07-15 16:41:56,  0-0-0-0-3,   1,    2,0,5,59,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,
  2015-07-15 16:42:55,  0-0-0-0-3,   1,    0,0,5,9,0,0,0,0,0,2,0,0,0,50,0,
  2015-07-15 16:43:55,  0-0-0-0-3,   1,    0,0,5,5,0,0,0,0,0,2,0,0,0,0,4,0,0,0,
  2015-07-15 16:44:56,  0-0-0-0-3,   1,    2,0,5,0,0,0,0,0,0,2,0,0,0,6,0,0,0,0
  </code></pre>
  
  <p>I wanted it to be imported to <code>pandas.DataFrame</code> with any random value given to the column that don't have a header, something like this:</p>
  
  <pre><code>SAMPLE_TIME,          POS,        OFF,  HISTOGRAM   1  2  3   4  5    6  
  2015-07-15 16:41:56,  0-0-0-0-3,   1,    2,         0, 5, 59, 4, 0,   0, 
  2015-07-15 16:42:55,  0-0-0-0-3,   1,    0,         0, 5,  0, 6, 0,   nan
  2015-07-15 16:43:55,  0-0-0-0-3,   1,    0,         0, 5,  0, 7, nan  nan
  2015-07-15 16:44:56,  0-0-0-0-3,   1,    2,         0, 5,  0, 0, 2,   nan
  </code></pre>
  
  <p>This has been impossible to import, as i tried different solution, such as giving a <a href="https://stackoverflow.com/a/20154429/3906864">specific a header</a>, But still no joy, the only way i was able to make it work is to add a header manually in the <code>.csv</code> file. which kinda defeat the purpose of automation!</p>
  
  <hr>
  
  <p>Then i tried <a href="https://stackoverflow.com/a/20154607/3906864">this solution</a>:
  Doing this</p>
  
  <pre><code>lines=list(csv.reader(open('file.csv')))    
  header, values = lines[0], lines[1:]  
  </code></pre>
  
  <p>it correctly reads the files giving me a list of ~15k element <code>values</code>, each element is a list of string, where each string is correctly parsed data field from the file, but when i try to do this:</p>
  
  <pre><code>data = {h:v for h,v in zip (header, zip(*values))}
  df = pd.DataFrame.from_dict(data)
  </code></pre>
  
  <p>or this:</p>
  
  <pre><code>data2 = {h:v for h,v in zip (str(xrange(16)), zip(*values))}
  df2 = pd.DataFrame.from_dict(data)
  </code></pre>
  
  <p>Then the non headered columns disappear and the order of columns is completely mixed. any idea of a possible solution ? </p>