數據分析 data analysis_Python編程問題彙總

一、python numpy加載數據 loadtxt——關於TypeError: strptime() argument 1 must be str, not bytes解析

在使用datetime.strptime(s,fmt)來輸出結果日期結果時,出現錯誤

TypeError: strptime() argument 1 must be str, not bytes

源代碼如下

def datestr2num(s):
return datetime.strptime(s, "%d-%m-%Y").date().weekday()

dates=np.loadtxt('data.csv', delimiter=',', usecols=(1,), converters={1: datestr2num}, unpack=True)

data.csv內容如下

編譯器在打開data.csv文件時,將表格裏的第2列數組值提取出來返回給dates,第二列值是日期格式字符串,但因爲讀取時是以二進制編碼的格式讀取第二列值,其返回的值字節字符串bytes,所以需要對字符串進行解碼,其解碼用函數decode('asii'),使bytes格式變成string格式。

修改代碼如下:

def datestr2num(s):
return datetime.strptime(s.decode('ascii'), "%d-%m-%Y").date().weekday()

dates=np.loadtxt('data.csv', delimiter=',', usecols=(1,), converters={1: datestr2num}, unpack=True)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章