Utilizzando Python 3.5.1, ho inserito un file di testo in cui ogni riga è in formato JSON: {"a": "windows", "b": "stairs" ...}L'oggetto JSON deve essere str, non 'byte'
import json
path = 'folder/data.txt'
records=[json.loads(line) for line in open(path,'rb')]
ma ho ricevuto l'errore:
the JSON object must be str, not 'bytes'
non ho la stampa della prima riga del file problema, quindi sono rassicurato che il percorso del file sia corretto.
Forse sbarazzarsi del 'b' nella vostra chiamata 'open'? https://docs.python.org/2/library/functions.html#open dice che caricherà il file in formato binario, il che potrebbe essere il motivo per cui non viene preso come una stringa. – TW80000
Se si prende solo una riga del file, è possibile caricarlo su json? Come 'json.loads (file.readlines() [0])' –
@ TW80000 il tuo suggerimento risolve il mio problema. Ho anche imparato che passare 'encoding = 'utf-8'' direttamente nella chiamata' open' funziona pure. Grazie per il tuo commento. – Greg