如何在读取csv文件时忽略NULL字节

时间:2016-08-25 17:23:00

标签: python csv

我正在读取从设备生成的csv文件,我收到此错误消息:

Error: line contains NULL byte

我在文本编辑器中打开了csv文件,我确实看到标题部分中有一些NUL字节,我并不在乎。如何使csv阅读器功能忽略NUL字节并只是通过文件的其余部分?

标题部分和数据之间有两个空白行,可能有跳过整个标题的方法吗?

我读取csv文件的代码是

with open(FileName, 'r', encoding='utf-8') as csvfile:
  csvreader = csv.reader(csvfile)

3 个答案:

答案 0 :(得分:4)

这将替换你的NULL字节

csvreader = csv.reader(x.replace('\0', '') for x in csvfile)

答案 1 :(得分:1)

在csv中阅读时,您必须删除它们。

我刚读过一篇文章,它被称为taco bell编程方法。在这篇文章中,文章认为塔可钟实际上只有8种成分,但从中可以制作出所有的chalupas,豆类和其他不可食用的食品。

可能应该将doritos添加到该成分列表中。不过,重点仍然存在。

wget,awk,sed等。应该尽可能使用。没有必要让它变得过于复杂,并引入所有这些库来用一种语言来完成它。

所以,我问,你能先在UNIX中做到吗?你可以。

<强> UNIX

tr < file-in -d '\000' > file-out

它会很快并且会起作用。

...现在,回到炸玉米饼。

答案 2 :(得分:0)

这有效。在文件中将“空”字符替换为“

sed -i 's/\x0//g' test.csv