【发布时间】:2013-03-28 06:18:59
【问题描述】:
我搜索了论坛,似乎无法解决以下问题。我对 python 很陌生,有一点编程经验,所以我的问题可能是微不足道的。
希望使用date.strptime 类方法将日期时间字符串转换为日期时间格式。
问题是列内的字符串格式不一致(大部分是%Y-%m-%d $H:$M:$S.%f);当时间正好落在秒上时,毫秒小数将被省略(格式应改为%Y-%m-%d $H:$M:$S)。当strptime 遇到无法识别的格式时,它会简单地将None 值放入数组元素中。
有没有办法在lambda 函数中创建异常(即ValueError 异常),如果没有,我如何将字符串值从genfromtxt 传递到“正常”def timeConv(x) 函数中转换器选项?
也许有更好的方法来解决这个问题...?
当格式为 %Y-%m-%d $H:$M:$S 时,我当前的代码会生成 None 值:
timeConv = lambda x: datetime.strptime(x, '\"%Y-%m-%d $H:$M:$S.%f\"')
Time = np.genfromtxt(file, dtype='object', delimiter=',', skip_header=4, usecols=(0), converters = {0: timeConv})
【问题讨论】:
-
fyi,
f = lambda x, y: <do things with x, y>与def f(x, y): <do things with x, y>相同,并且都将名称f赋予函数<...>
标签: python numpy genfromtxt