title: Read ZipFile from URL into StringIO and parse with panda.read_csv
body: <p>I'm trying to read <code>ZipFile</code> data from a URL and via <code>StringIO</code> parse the data inside the <code>ZipFile</code> as csv using <code>pandas.read_csv</code></p>
  
  <pre><code>r = req.get("http://seanlahman.com/files/database/lahman-csv_2014-02-14.zip").content
  file = ZipFile(StringIO(r))
  salaries_csv = file.open("Salaries.csv")
  salaries = pd.read_csv(salaries_csv)
  </code></pre>
  
  <p>The last line gave me an error:</p>
  
  <pre><code>CParserError: Error tokenizing data. C error: Calling read(nbytes) on source failed. Try engine='python'.
  </code></pre>
  
  <p>However if i try using </p>
  
  <pre><code>salaries = pd.read_csv(file.open("Salaries.csv"))
  </code></pre>
  
  <p>it works.</p>
  
  <p>So I was wondering what am I missing out here. </p>
  
  <p><code>file.open</code> should return a <code>ZipExtFile</code> object and since read_csv takes only string or file handle / <code>StringIO</code> input, why is the last line working then?</p>