Estou trabalhando com alguns arquivos CSV, com o seguinte código:
reader = csv.reader(open(filepath, "rU")) try: for row in reader: print "Linha lida com sucesso!", linha exceto csv.Error, e: sys.exit("file %s, line %d: %s" % (filename, reader.line_num, e))
E um arquivo está gerando este erro:
file my.csv, line 1: line contém NULL byte
O que posso fazer? Google parece sugerir que pode ser um arquivo do Excel que foi salvo como .csv incorretamente. Existe alguma maneira de contornar esse problema em Python?
== UPDATE ==
Seguindo o comentário de @JohnMachin abaixo, tentei adicionar estas linhas ao meu script:
print repr(open(filepath, "rb").read(200)) # dump 1º 200 bytes de dados do arquivo = open(filepath, "rb").read() imprime dados. find("x00") print data.count("x00")
E esta é a saída que obtive:
"xd0xcfx11xe0xa1xb1x1axe1x00x00x00x00x00x00x00x00 .... <recorte> 8 13834
Então o arquivo contém bytes NUL.