我正在尝试使用Numpy genfromtxt导入一个简单的CSV文件,但无法将第一列的数据转换为日期。
这是我的代码:
import numpy as np from datetime import datetime str2date = lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M:%S') data = np.genfromtxt('C:\\\\data.csv',dtype=None,names=True, delimiter=',', converters = {0: str2date})
我在str2date中收到以下错误:
TypeError:必须为str,而不是字节
问题是有很多列,所以我宁愿避免指定所有列类型(基本上是数字)。
问题在于传递给的参数str2date
具有这种形式b'%Y-%m-%d %H:%M:%S'
。这些是字节,不能正确地将其解析为日期时间对象。但是,该问题的解决方案非常简单,因为您应该将字节字符串解码为UTF-8
字符串:
str2date = lambda x: datetime.strptime(x.decode("utf-8"), '%Y-%m-%d %H:%M:%S')