python 3.0 open () Standardkodierung
Ich versuche, die Zeilen in einer JSON-Datei zu zählen.licken Sie HIER, um auf meine JSON-Datei zuzugreife
Ich habe versucht, den folgenden Code zu verwenden, um die Zeilen zu zählen.
input = open("json/world_bank.json")
i=0
for l in input:
i+=1
print(i)
Aber der obige Code löst einen UniCodeDecode-Fehler aus, wie unten gezeigt.
---------------------------------------------------------------------------
UnicodeDecodeError Traceback (most recent call last)
<ipython-input-17-edc88ade7225> in <module>()
2
3 i=0
----> 4 for l in input:
5 i+=1
6
C:\Users\Subbi Reddy\AppData\Local\Continuum\Anaconda3\lib\encodings\cp1252.py in decode(self, input, final)
21 class IncrementalDecoder(codecs.IncrementalDecoder):
22 def decode(self, input, final=False):
---> 23 return codecs.charmap_decode(input,self.errors,decoding_table)[0]
24
25 class StreamWriter(Codec,codecs.StreamWriter):
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 3979: character maps to <undefined>
Dann habe ich den Kodierungsparameter in die offene Funktion aufgenommen, wie unten gezeigt.
input = open("json/world_bank.json",encoding="utf8")
Dann fing es an zu arbeiten und gab die Ausgabe als 500.
Soweit ich weiß, sollte Python Open "utf8" als Standardkodierung verwenden.
Wo gehe ich hier falsch.