Błąd Pythona CSV: wiersz zawiera NULL bajt

| | | | | | | |

Pracuję z kilkoma plikami CSV, z następującym kodem:

reader = csv.reader(open(ścieżka pliku, "rU")) spróbuj: for row in reader: print "Wiersz odczytany pomyślnie!", wiersz z wyjątkiem csv.Error, e: sys.exit("plik %s, wiersz %d: %s" % (nazwa pliku, czytnik.linia_num, e)) 

I jeden plik zgłasza ten błąd:

plik my.csv, wiersz 1: wiersz zawiera NULL bajt 

Co mogę zrobić? Google wydaje się sugerować, że może to być plik Excela, który został nieprawidłowo zapisany jako .csv. Czy jest jakiś sposób na obejście tego problemu w Pythonie?

== UPDATE ==

Postępując zgodnie z poniższym komentarzem @JohnMachin, spróbowałem dodać te wiersze do mojego skryptu:

print repr(open(ścieżka pliku, "rb").read(200)) # zrzuć pierwsze 200 bajtów danych pliku = open(ścieżka pliku, "rb").read() drukuj dane. find("x00") print data.count("x00") 

A to jest wynik, który otrzymałem:

"xd0xcfx11xe0xa1xb1x1axe1x00x00x00x00x00x00x00x00 .... <snip> 8 13834 

Plik rzeczywiście zawiera bajty NUL.