解决python3 中的np.load编码问题
程序员文章站
2022-04-12 23:48:04
由于在python2 中的默认编码为ascii,但是在python3中的默认编码为utf-8。问题:所以在使用np.load(det.npy)的时候会出现错误提示:you may need to pa...
由于在python2 中的默认编码为ascii,但是在python3中的默认编码为utf-8。
问题:
所以在使用np.load(det.npy)的时候会出现错误提示:
you may need to pass the encoding= option to numpy.load
解决方法:
当遇到这种情况的时候,用np.load(det.npy,encoding="latin1")就可以了。
补充:python解决numpy导入乱码问题------已解决
使用numpy的loadtxt时,发现报错。
经历如下:
// visual studio code var foo = 'bar'; import numpy as np if __name__ == "__main__": dataset = np.loadtxt("c:/users/yanruyu/documents/code/python/ga/dataset.txt") print(dataset)
打印出的结果:
valueerror: could not convert string to float: '1,1锛孉'
解决经历:
第一次:
// visual studio code var foo = 'bar'; import numpy as np if __name__ == "__main__": dataset = np.loadtxt("c:/users/yanruyu/documents/code/python/ga/dataset.txt",dtype="str") #默认为float,需要dtype print(dataset)
打印出的结果:
['1,1锛孉' '1,2锛孉' '1.5,1.5锛孉' '3,4锛孊' '4,4锛孊']
第二次:
// visual studio code var foo = 'bar'; import numpy as np if __name__ == "__main__": dataset = np.loadtxt("c:/users/yanruyu/documents/code/python/ga/dataset.txt",dtype="str",encoding='utf-8') #默认为float,需要dtype print(dataset)
打印出的结果:
['1,1,a' '1,2,a' '1.5,1.5,a' '3,4,b' '4,4,b']
优化后
// visual studio code var foo = 'bar'; import numpy as np if __name__ == "__main__": dataset = np.loadtxt("c:/users/yanruyu/documents/code/python/ga/dataset.txt",dtype="str",encoding='utf-8',delimiter=',') #默认为float,需要dtype # x=dataset[:,:-1] print(dataset)
打印的结果:
ps c:\users\yanruyu> & d:/anaconda3/python.exe c:/users/yanruyu/documents/code/python/ga/text.py
[['1' '1,a']
['1' '2,a']
['1.5' '1.5,a']
['3' '4,b']
['4' '4,b']]
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
推荐阅读