For python 2 you were very close to get working program. In py2 csv.writerow writes files in bytes mode, but your item["text"] is unicode string so you have to encode it before. This will work as long your json file is really unicode encoded.