[python]np.loadtxt报错

np.loadtxt报错

通过pandas生成的cvs数据利用nump.loadtxt读取的时候

tmp = np.loadtxt('test.csv', dtype=np.str, delimiter=",")

UnicodeEncodeError: 'latin-1' codec can't encode characters in position 57-58: ordinal not in range(256)

随后指定编码方式为uft-8依然报错

tmp = np.loadtxt(open("test.csv", encoding='ISO-8859-1'),dtype=np.str, delimiter=",")

最后看了别的博客,试了试改为encoding='ISO-8859-1'解决问题

ISO-8859-1

ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。
Latin1是ISO-8859-1的别名,有些环境下写作Latin-1。

所以为什么默认latin-1报错而ISO-8859-1可行

//本博客内容用以记录各种知识点,大部分为网络搜集,来历不明,侵删。
原文地址:https://www.cnblogs.com/wendyy/p/9303431.html