数据分析 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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章