我正在尝试读取一些 txt 文件、制表符分隔的数据并使用下面的代码,它向我显示以下错误:
对于阅读器中的行:
错误:行包含 NULL 字节
该代码基本上是试图从特定列中获取一些信息。以下是它的精简版:
with open('07table.txt', encoding = "utf-8", errors='ignore') as fo:
reader = csv.reader(fo, delimiter='\t', quoting=csv.QUOTE_MINIMAL)
在过去的一周里,我试图调查文件是否包含 NULL 字节。我使用下面的代码来检查这是否属实,令我惊讶的是,我没有在文件中找到任何 NULL 字节:
if '\x00' in open('07table.txt').read():
print("you have null bytes in your input file")
else:
print("you don't")
为了安全起见,我还运行了一个代码来替换我的 txt 文件中的 NULL 字节,但我仍然有同样的错误。
到目前为止我尝试过的另一件事是更改为旧版本的 Spyder 并将 Python 版本降级到 3.5.14,因为我认为这可能是我安装的环境的问题。从某种意义上说,这产生了一些影响,因为我的代码成功地读取了两个以前应该包含 NULL 字节的文件。但是,当它通过这两个文件时,代码会呈现与上面发布的相同的错误。
此时,我非常确定文件不包含 NULL 字节。关于为什么我会收到此错误的任何想法?