Ich verwende Python 3.5.2 unter Windows 10 x64. Die JSON
Datei, die ich lese, ist this, die ein JSON
Array ist, das 2 weitere Arrays enthält.JSON-Datei mit Python 3 lesen
Ich versuche, diese JSON
Datei mit dem json
Modul zu analysieren. Wie in der docs beschrieben, muss die JSON
Datei konform zu RFC 7159
sein. Ich habe meine Datei here und es sagt mir, es ist völlig in Ordnung, mit dem RFC 7159
-Format, aber wenn man versucht, es mit diesem einfachen Python-Code zu lesen:
with open(absolute_json_file_path, encoding='utf-8-sig') as json_file:
text = json_file.read()
json_data = json.load(json_file)
print(json_data)
Ich erhalte diese Ausnahme:
Traceback (most recent call last):
File "C:\Program Files (x86)\JetBrains\PyCharm 4.0.5\helpers\pydev\pydevd.py", line 2217, in <module>
globals = debugger.run(setup['file'], None, None)
File "C:\Program Files (x86)\JetBrains\PyCharm 4.0.5\helpers\pydev\pydevd.py", line 1643, in run
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Program Files (x86)\JetBrains\PyCharm 4.0.5\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "C:/Users/Andres Torti/Git-Repos/MCF/Sur3D.App/shapes-json-checker.py", line 14, in <module>
json_data = json.load(json_file)
File "C:\Users\Andres Torti\AppData\Local\Programs\Python\Python35-32\lib\json\__init__.py", line 268, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "C:\Users\Andres Torti\AppData\Local\Programs\Python\Python35-32\lib\json\__init__.py", line 319, in loads
return _default_decoder.decode(s)
File "C:\Users\Andres Torti\AppData\Local\Programs\Python\Python35-32\lib\json\decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\Andres Torti\AppData\Local\Programs\Python\Python35-32\lib\json\decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Ich kann diese genaue Datei in Javascript perfekt lesen, aber ich kann Python nicht dazu bringen, sie zu analysieren. Ist irgendetwas mit meiner Datei falsch oder gibt es ein Problem mit dem Python-Parser?
Etwas stimmt nicht mit der Codierung der Datei. Für das, was es wert ist, 'requests.get (" http://pastebin.com/raw/Yjs6FAfm ") .json()' funktioniert :) –
@ cricket_007 ist es möglich, da ich 'encoding = 'utf-8- verwenden musste sig'', um komische Zeichen am Anfang der Datei zu vermeiden, da die Datei 'UTF-8-BOM' nicht' UTF-8' ist. – Andres
Rechts ist das Problem am Anfang der Datei, wie in Zeile 1 Spalte 1 ersichtlich ' –