numpy.genfromtext读取含变音符号文件时UnicodeDecodeError问题求助
解决numpy genfromtext的UnicodeDecodeError问题
嘿,我来帮你搞定这个Unicode解码错误的问题!
你遇到的核心问题是:list.txt里包含了ß这个特殊Unicode字符,但np.genfromtext默认使用的编码和文件实际编码不匹配,导致无法正确解析字符,从而抛出了UnicodeDecodeError。
解决方案:显式指定文件编码
你只需要在genfromtext函数里添加encoding参数,指定和你的list.txt文件一致的编码即可。常见的编码有utf-8和gbk(Windows系统默认文本编码),你可以根据文件的实际保存编码选择:
修改后的代码示例
import numpy as np # 若文件是Windows默认编码,可替换为encoding='gbk' data = np.genfromtext('list.txt', unpack=True, dtype=("U12", "U12"), encoding='utf-8') print(data)
补充说明
- 你的
list.txt第一行是# random random2,np.genfromtext默认会自动跳过以#开头的注释行,这是正常行为,不会影响后续数据读取。 - 你使用的
U12dtype本身支持Unicode字符,只要编码匹配,ß这类特殊字符就能被正确解析。
内容的提问来源于stack exchange,提问作者LarsK
相关产品推荐
相关产品推荐

