如何正确地格式化了使用numpy.genfromtxt()的文件加载的时间



我的代码:

def parsetime(v): 
    return np.datetime64( 'filename.txt',
                           datetime.datetime.strptime( v, '%H:%M' )
                           )
hor = np.genfromtxt( 'filename.txt',
                      skip_header = 3,
                      usecols     = ( 1, 3, 4, 5, 6, 7, 8, 9 ),
                      converters  = { 1: parsetime }
                      )

得到了这个:

typeError:用于指定numpy dateTime元数据

的无效对象

数据集:

*****************************************************************************************
 Date__(UT)__HR:MN     Obsrv-lon Obsrv-lat Solar-lon Solar-lat      phi  PAB-LON  PAB-LAT
*****************************************************************************************
 2017-Feb-11 00:00  m    4.87809   1.86737   5.04236   0.27627   1.5995 142.1040  -0.7968
 2017-Feb-11 00:05  m    4.86722   1.86711   5.00023   0.27616   1.5965 142.1233  -0.7972
 2017-Feb-11 00:10  m    4.85641   1.86690   4.95810   0.27604   1.5941 142.1426  -0.7975
 2017-Feb-11 00:11  m    4.85426   1.86686   4.94968   0.27602   1.5937 142.1464  -0.7976
 2017-Feb-11 00:12  m    4.85211   1.86682   4.94125   0.27599   1.5933 142.1503  -0.7977
 2017-Feb-11 00:13  m    4.84997   1.86679   4.93283   0.27597   1.5930 142.1541  -0.7977
 2017-Feb-11 00:14  m    4.84782   1.86676   4.92440   0.27595   1.5926 142.1580  -0.7978

更好地定义转换器-{}

lambda -s很棒:

converters  = { 1: lambda aPieceOfSTRING: parsetime( aPieceOfSTRING ),
                }

正如@hpaulj促进的那样,更好地求解了迄今为止的错误,这里只有lambdified函数,最好排除,完全排除,如今早些时候已经在>您以前的中所显示的那样,仍然没有 - 接受/未确认,问题

 converters  = { 1: lambda aS: datetime.datetime.strptime( aS or "23:59", '%H:%M' ),
                 }      

相关内容

  • 没有找到相关文章

最新更新