擅长:python、mysql、java
<p>如果<code>csv</code>模块说您的读取文件中有一个“NULL”(愚蠢的消息,应该是“NUL”)字节,我建议您检查文件中的内容</p>
<p>尝试使用<code>rb</code>,它可能会使问题消失:</p>
<pre><code>reader = csv.reader(open(filePath, 'rb', encoding="utf-8-sig", errors="ignore"))
</code></pre>
<p>根据文件的生成方式,可能包含空字节,因此您可能需要</p>
<ol>
<li><p>在编辑器中打开它,查看它是否是合理的CSV文件,如果文件太大,请在CLI中使用<code>nano</code>或<a href="https://www.linuxhelp.com/head-tail-command" rel="nofollow noreferrer">^{<cd4>}</a></p></li>
<li><p>使用另一个像pandas这样的库,它可能更健壮</p></li>
<li><p>如果问题仍然存在,可以用空字符串替换所有<code>'\x00',</code>:</p></li>
</ol>
<pre><code>fi = open(filePath, 'rb')
data = fi.read()
fi.close()
fo = open('mynew.csv', 'wb')
fo.write(data.replace('\x00', ''))
fo.close()
</code></pre>