Ich arbeite mit einigen CSV-Dateien mit folgendem Code:
reader = csv.reader(open(filepath, "rU")) try: for row in reader: print "Zeile erfolgreich gelesen!", Zeile außer csv.Error, e: sys.exit("file %s, line %d: %s" % (filename, reader.line_num, e))
Und eine Datei wirft diesen Fehler:
Datei my.csv, Zeile 1: Zeile enthält NULL-Byte
Was kann ich tun? Google scheint darauf hinzudeuten, dass es sich möglicherweise um eine Excel-Datei handelt, die nicht ordnungsgemäß als CSV-Datei gespeichert wurde. Gibt es eine Möglichkeit, dieses Problem in Python zu umgehen?
== UPDATE ==
Nach dem Kommentar von @JohnMachin unten habe ich versucht, diese Zeilen zu meinem Skript hinzuzufügen:
print repr(open(filepath, "rb").read(200)) # erste 200 Bytes der Dateidaten ausgeben = open(filepath, "rb").read() print data. find("x00") print data.count("x00")
Und das ist die Ausgabe, die ich bekommen habe:
"xd0xcfx11xe0xa1xb1x1axe1x00x00x00x00x00x00x00x00 .... <schnipsen> 8 13834
Die Datei enthält also tatsächlich NUL-Bytes.