Ik werk met enkele CSV-bestanden, met de volgende code:
reader = csv.reader(open(filepath, "rU")) try: for row in reader: print "Rij met succes gelezen!", rij behalve csv.Error, e: sys.exit("bestand %s, regel %d: %s" % (bestandsnaam, reader.line_num, e))
En één bestand geeft deze fout:
bestand my.csv, regel 1: regel bevat NULL byte
Wat kan ik doen? Google lijkt te suggereren dat het een Excel-bestand kan zijn dat onjuist is opgeslagen als .csv. Is er een manier om dit probleem in Python te omzeilen?
== UPDATE ==
Na de opmerking van @JohnMachin hieronder, heb ik geprobeerd deze regels aan mijn script toe te voegen:
print repr(open(bestandspad, "rb").read(200)) # dump 1e 200 bytes aan bestandsgegevens = open(bestandspad, "rb").read() afdrukgegevens. find("x00") print data.count("x00")
En dit is de output die ik kreeg:
"xd0xcfx11xe0xa1xb1x1axe1x00x00x00x00x00x00x00x00 .... <knip> 8 13834
Het bestand bevat dus inderdaad NUL bytes.