I gestaltete Skript und vorverarbeitet großen csv zu Datenbank importieren:Wie überspringe Codierung Ausnahme in Python3 überspringen?
with open(sys.argv[1], encoding='utf-16') as _f:
for i, line in enumerate(_f):
try:
.... some stuff with line ...
except Exception as e:
...
Aber irgendwann gibt es mir Ausnahme auf enumerate
:
...
File "/Users/elajah/PycharmProjects/untitled1/importer.py", line 94, in main
for i, line in enumerate(_f):
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/codecs.py", line 319, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/encodings/utf_16.py", line 69, in _buffer_decode
return self.decoder(input, self.errors, final)
UnicodeDecodeError: 'utf-16-le' codec can't decode byte 0x00 in position 0: truncated data
...
Wie unterbrochene Linien in der Datei überspringen das Skript nicht unterbrechen fließen ?
Dank habe ich versucht, aber in diesem Fall ist die Sache ist es auftritt während der 'enumerate' Funktion aufrufen, und die einzige mögliche Lösung, die ich sehe, ist es nicht zu verwenden ... –
Sie könnten die gesamte 'für ... in enumarate() 'Block im' try: 'Block. Aber es wäre wahrscheinlich besser, 'try:' in Ihrem 'importer.py'-Skript zu verwenden, in dem der anfängliche Fehler auftritt, und versuchen Sie, den Fehler dort zu beheben. – C14L