在Python中:
有一个.dat文件,一列是datestr'yyyy-mm-dd'。专栏年份从2000年到2010年我只想使用2005年。
如何使用np.loadtxt成功阅读,保持相同的格式。
我将使用:
time_string = yyyy-mm-dd
doy = int (time.strftime ("%j", time.strptime ( time_string, "%Y, %m, %d")))
将yyyy-mm-dd转换为一年中的某一天(1-365)
答案 0 :(得分:2)
这个问题没有说明使用loadtxt
numpy
的任何理由,因此您实际上并不关心数据的加载方式。说,在这种情况下,您只需使用dtype=object
来加载它。
假设这是你的.dat文件,我们称之为d1.dat:
1 2000-01-01 blah
2 2005-01-01 bleh
3 2006-02-03 blih
4 2008-03-04 bloh
5 2010-04-05 bluh
6 2005-03-12 blahr
然后(例如)使用numpy
加载它:
import numpy
data = numpy.loadtxt('d1.dat', usecols=[1,2], dtype=object)
现在,您可以应用函数从数据的第一列中提取一年中的某一天:
for date, _ in data:
print time.strftime("%j", time.strptime(date, "%Y-%m-%d"))
答案 1 :(得分:1)
from datetime import datetime
time_string = '2012-12-31'
dt = datetime.strptime(time_string, '%Y-%m-%d')
print dt.timetuple().tm_yday
366