由于在Python2 中的默認(rèn)編碼為ASCII,但是在Python3中的默認(rèn)編碼為UTF-8。
問題:
所以在使用np.load(det.npy)的時(shí)候會(huì)出現(xiàn)錯(cuò)誤提示:
you may need to pass the encoding= option to numpy.load
解決方法:
當(dāng)遇到這種情況的時(shí)候,用np.load(det.npy,encoding="latin1")就可以了。
補(bǔ)充:python解決numpy導(dǎo)入亂碼問題------已解決
使用numpy的loadtxt時(shí),發(fā)現(xiàn)報(bào)錯(cuò)。
經(jīng)歷如下:
// 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)
打印出的結(jié)果:
ValueError: could not convert string to float: '1,1錛孉'
解決經(jīng)歷:
第一次:
// 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") #默認(rèn)為float,需要dtype
print(dataset)
打印出的結(jié)果:
['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') #默認(rèn)為float,需要dtype
print(dataset)
打印出的結(jié)果:
['1,1,A' '1,2,A' '1.5,1.5,A' '3,4,B' '4,4,B']
優(yōu)化后
// 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=',') #默認(rèn)為float,需要dtype
# x=dataset[:,:-1]
print(dataset)
打印的結(jié)果:
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']]
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- 詳解python中文編碼問題
- python基礎(chǔ)之編碼規(guī)范總結(jié)
- Python3 json模塊之編碼解碼方法講解
- python 編碼中為什么要寫類型注解?
- python源文件的字符編碼知識(shí)點(diǎn)詳解
- Python新建項(xiàng)目自動(dòng)添加介紹和utf-8編碼的方法
- python中字符串的編碼與解碼詳析
- Python之進(jìn)行URL編碼案例講解