首页 > 解决方案 > UnicodeDecodeError:“utf-8”编解码器无法解码位置 23 中的字节 0x87:无效的起始字节

问题描述

我正在使用 python (np.loadtxt) 打开在 windowsOS 中创建的文本文件,并尝试在 macOS 中使用它。python 脚本在我的 Windows 上运行良好,但它给了我UnicodeDecodeError: 'utf-8' codec can't decode byte 0x87 in position 23: invalid start byte error when I try to use the same script on macbook。这似乎是由文件名引起的,因为发生此错误的行是我正在读取文本文件的行。

for names in os.listdir(dir_2):
    array_txt = np.loadtxt(dir_2+"/"+names)
    x = array_txt[:800,0]
    y = array_txt[:800,1]

我用谷歌搜索并在我的文件名字符串上尝试了str = unicode(str, errors='replace') 。但仍然出现错误,显示名称 'unicode' is not defined。我安装了unidecode,还尝试导入unicodedata但无法修复。我还尝试在 macbook 上创建文本文件并从原始文件中复制数据,但仍然出现相同的错误。我还发现有人说这是 numpy 中的一个错误,但我不确定我是否遇到了这个错误或者它是否有所不同。有人可以给出解释吗?先感谢您。

标签: pythonmacosnumpyunicodefilenames

解决方案


推荐阅读