title: Python for Data Analysis error: Expecting value: line 1 column 1 (char 0)
body: <p>I am following along the examples of Python for Data Analysis and the first examples shows:</p>
  
  <pre><code>In [15]: path = 'ch02/usagov_bitly_data2012-03-16-1331923249.txt'
  In [16]: open(path).readline()
  Out[16]: '{ "a": "Mozilla\\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\\/535.11
  (KHTML, like Gecko) Chrome\\/17.0.963.78 Safari\\/535.11", "c": "US", "nk": 1,
  "tz": "America\\/New_York", "gr": "MA", "g": "A6qOVH", "h": "wfLQtf", "l":
  "orofrog", "al": "en-US,en;q=0.8", "hh": "1.usa.gov", "r":
  "http:\\/\\/www.facebook.com\\/l\\/7AQEFzjSi\\/1.usa.gov\\/wfLQtf", "u":
  "http:\\/\\/www.ncbi.nlm.nih.gov\\/pubmed\\/22415991", "t": 1331923247, "hc":
  1331822918, "cy": "Danvers", "ll": [ 42.576698, -70.954903 ] }\n'
  </code></pre>
  
  <p>After following these instructions I get:</p>
  
  <pre><code>In [21]: open(path).readline()
  Out[21]: 'ï»¿{ "a": "Mozilla\\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\\/535.11
  (KHTML, like Gecko) Chrome\\/17.0.963.78 Safari\\/535.11", "c": "US", "nk": 1, "
  tz": "America\\/New_York", "gr": "MA", "g": "A6qOVH", "h": "wfLQtf", "l": "orofr
  og", "al": "en-US,en;q=0.8", "hh": "1.usa.gov", "r": "http:\\/\\/www.facebook.co
  m\\/l\\/7AQEFzjSi\\/1.usa.gov\\/wfLQtf", "u": "http:\\/\\/www.ncbi.nlm.nih.gov\\
  /pubmed\\/22415991", "t": 1331923247, "hc": 1331822918, "cy": "Danvers", "ll": [
   42.576698, -70.954903 ] }\n'
  </code></pre>
  
  <p>The only difference from the book is the "ï»¿" part. </p>
  
  <p>Later, when I try:</p>
  
  <pre><code>import json
  path = 'ch02/usagov_bitly_data2012-03-16-1331923249.txt'
  records = [json.loads(line) for line in open(path)]
  </code></pre>
  
  <p>... what I get is:</p>
  
  <pre><code>`In [22]: import json
  
  In [23]: path = 'usagov_bitly_data2012-03-16-1331923249.txt'
  
  In [24]: records = [json.loads(line) for line in open(path)]
  ---------------------------------------------------------------------------
  JSONDecodeError                           Traceback (most recent call last)
  &lt;ipython-input-24-b1e0b494454a&gt; in &lt;module&gt;()
  ----&gt; 1 records = [json.loads(line) for line in open(path)]
  
  &lt;ipython-input-24-b1e0b494454a&gt; in &lt;listcomp&gt;(.0)
  ----&gt; 1 records = [json.loads(line) for line in open(path)]
  
  C:\Anaconda3\lib\json\__init__.py in loads(s, encoding, cls, object_hook, parse_
  float, parse_int, parse_constant, object_pairs_hook, **kw)
      317             parse_int is None and parse_float is None and
      318             parse_constant is None and object_pairs_hook is None and not
   kw):
  --&gt; 319         return _default_decoder.decode(s)
      320     if cls is None:
      321         cls = JSONDecoder
  
  C:\Anaconda3\lib\json\decoder.py in decode(self, s, _w)
      337
      338         """
  --&gt; 339         obj, end = self.raw_decode(s, idx=_w(s, 0).end())
      340         end = _w(s, end).end()
      341         if end != len(s):
  
  C:\Anaconda3\lib\json\decoder.py in raw_decode(self, s, idx)
      355             obj, end = self.scan_once(s, idx)
      356         except StopIteration as err:
  --&gt; 357             raise JSONDecodeError("Expecting value", s, err.value) from
  None
      358         return obj, end
  
  
  JSONDecodeError: Expecting value: line 1 column 1 (char 0)`
  </code></pre>
  
  <p>Does any one know why I get this JSONDecodeError error?</p>