在Numpy genfromtxt中加载日期

Mar*_*son 3 python numpy genfromtxt

我正在尝试使用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})
Run Code Online (Sandbox Code Playgroud)

我在str2date中收到以下错误:

TypeError:必须为str,而不是字节

问题是有很多列,所以我宁愿避免指定所有列类型(基本上是数字)。

N. *_*uda 5

问题在于传递给的参数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')