title: Python 3, read/write compressed json objects from/to gzip file
body: <p>For Python3, I followed <a href="https://stackoverflow.com/questions/20449625/python-compressing-a-series-of-json-objects-while-maintaining-serial-reading">@Martijn Pieters's code</a> with this:</p>
  
  <pre><code>import gzip
  import json
  
  # writing
  with gzip.GzipFile(jsonfilename, 'w') as fout:
      for i in range(N):
          uid = "whatever%i" % i
          dv = [1, 2, 3]
          data = json.dumps({
              'what': uid,
              'where': dv})
  
          fout.write(data + '\n')
  </code></pre>
  
  <p>but this results in an error:</p>
  
  <pre><code>Traceback (most recent call last):
      ...
    File "C:\Users\Think\my_json.py", line 118, in write_json
      fout.write(data + '\n')
    File "C:\Users\Think\Anaconda3\lib\gzip.py", line 258, in write
      data = memoryview(data)
  TypeError: memoryview: a bytes-like object is required, not 'str'
  </code></pre>
  
  <p>Any thoughts about what is going on?</p>