Python Bug: TypeError: a bytes-like object is required, not ‘str

Python Bug: TypeError: a bytes-like object is required, not ‘str

背景

data_np = np.loadtxt(os.path.join(data_path, data_name), delimiter=',', skiprows=1, converters={1: lambda x: float(x.split('/')[-1])}, dtype=np.float32)

如上所示,该行代码用于读取表格数据, 其中converters参数用于将表中第1列的日期类型数据xxxx/xx/xx截取最后日期并转为数值类型,运行出现上述错误。

解决方法:

原因: 主要设计byte和str数据类型的转换,在调用split之前首先要通过.decode()方法对字符串以指定的编码格式(默认encoding=‘utf-8’)解码。encode()作用正好相反。

data_np = np.loadtxt(os.path.join(data_path, data_name), delimiter=',', skiprows=1, converters={1: lambda x: float(x.decode().split('/')[-1])}, dtype=np.float32)

版权声明:本文为QKK612501原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。