次のコードを使用して、いくつかのCSVファイルを操作しています:
reader = csv.reader(open(filepath、 "rU"))try:for row in reader:print "行の読み取りに成功しました!"、csv.Errorを除く行、e:sys.exit( "file%s、line%d:%s"%(filename、reader.line_num、e))
1つのファイルがこのエラーをスローしています:
file my.csv、1行目:行にNULLバイトが含まれています
どうすればよいですか?Google .csvとして不適切に保存されたのはExcelファイルである可能性があることを示唆しているようです。 Pythonでこの問題を回避する方法はありますか?
== UPDATE ==
以下の@JohnMachinのコメントに従って、スクリプトに次の行を追加してみました:< / p>
print repr(open(filepath、 "rb")。read(200))#最初の200バイトのファイルデータをダンプ= open(filepath、 "rb")。read()printdata。 find( "x00")print data.count( "x00")
これが私が得た出力です:
"xd0xcfx11xe0xa1xb1x1axe1x00x00x00x00x00x00x00x00...。 &lt; snip&gt; 8 13834
したがって、ファイルには実際にNULバイトが含まれています。