title: csv reader finds less rows than bufio scanner
body: <p>I downloaded the IMDb dataset title.basics.tsv.gz and a <code>wc -l data.tsv</code> results in 7434601 rows.</p>
  <p>Now I'm trying to read the data in Go, but csv.Reader only reads 5901463 rows. When I use bufio.Scanner it's the same number of rows that wc spits out though.</p>
  <p>There are no fancy settings and no comment rune is configured: Tab as comma, reuse records (same result without resuing records BTW) and lazy quotes because some IMDb titles require that.</p>
  <pre class="lang-golang prettyprint-override"><code>package main
  
  import (
      &quot;bufio&quot;
      &quot;encoding/csv&quot;
      &quot;fmt&quot;
      &quot;log&quot;
      &quot;os&quot;
      &quot;unicode/utf8&quot;
  )
  
  func main() {
      f, err := os.Open(`C:\path\to\data.tsv`)
      if err != nil {
          log.Fatalf(&quot;Couldn't open TSV file: %v\n&quot;, err)
      }
  
      r := csv.NewReader(f)
      r.Comma, _ = utf8.DecodeRuneInString(&quot;\t&quot;)
      r.ReuseRecord = true
      r.LazyQuotes = true
  
      i := 0
      for ; ; i++ {
          _, err := r.Read()
          if err != nil {
              fmt.Printf(&quot;CSV read error: %v\n&quot;, err)
              break
          }
      }
      fmt.Printf(&quot;CSV reader count: %v\n&quot;, i) // 5901463
  
      _, err = f.Seek(0, 0)
      if err != nil {
          log.Fatalf(&quot;Couldn't reset file reader: %v\n&quot;, err)
      }
      scanner := bufio.NewScanner(f)
      i = 0
      for ; ; i++ {
          if !scanner.Scan() {
              break
          }
      }
      fmt.Printf(&quot;Scanner count: %v\n&quot;, i) // 7434601
  }
  </code></pre>
  <p>The 7434601 rows seem to be fine - whith the bufio Scanner I used <code>strings.Split</code> by tab on <code>scanner.Text()</code> to see if each row has 9 elements, which was the case.</p>