我正在读取从设备生成的csv文件,我收到此错误消息:
Error: line contains NULL byte
我在文本编辑器中打开了csv文件,我确实看到标题部分中有一些NUL字节,我并不在乎。如何使csv阅读器功能忽略NUL字节并只是通过文件的其余部分?
标题部分和数据之间有两个空白行,可能有跳过整个标题的方法吗?
我读取csv文件的代码是
with open(FileName, 'r', encoding='utf-8') as csvfile:
csvreader = csv.reader(csvfile)
答案 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