从yyyymmddHHMMSS格式转换日期

时间:2016-09-13 11:40:33

标签: python numpy

我想阅读以下ascii文件的两列(第0列,第4列)并绘制它们。一个包含yyymmddHHMMSS格式的日期,我想将其转换为日期编号。

# Date          RMS.I   RMS.Q   Cal.I   Cal.Q      
20121220220000 1.45485 1.42051 1.26393 1.29448
20121220230000 1.43377 1.39987 1.26803 1.29874
20121221000000 1.44888 1.41472 1.24759 1.27771

我一直在使用numpy.loadtxt,但它将所有列都读为float。

mydate, myvar = np.loadtxt('infile.txt', comments="#", skiprows=1, usecols=(0,4), unpack=True)

1 个答案:

答案 0 :(得分:0)

您可以按以下方式导入structured array

mydate, myvar = np.loadtxt('infile.txt', comments="#", skiprows=1, usecols=(0,4), unpack=True, dtype=[('date', '|S10'), ('floatmio', float)])

它会将日期导入str数组中的mydate。然后,您可以在单个数组条目上使用datetime库来处理它们,如下所示:

import datetime
dates = [datetime.datetime.strptime(x, '%Y%m%d%H') for x in mydate]