For Python3, I followed @Martijn Pieters's code with this:
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')
but this results in an error:
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'
Any thoughts about what is going on?
You have four steps of transformation here.
So let's take these steps one by one.
Note that adding
"\n"
is completely superfluous here. It does not break anything, but beyond that it has no use.Reading works exactly the other way around:
Of course the steps can be combined:
and