我正在写一个天文学应用的基本模拟。我有一个.csv文件,它是一个观察列表。它有11列,其中第2、3、4、5列分别是十进制的小时、日、月、年。其余的是名称、坐标等。每晚观察一次选定的物体
这些列中的每个条目对应于进行观察的时间。例如:22.583, 5, 1, 2015
相当于2015年1月5日晚上22:35(0.583是35/60分钟的分数)。整个文件的“解析”时间间隔为5分钟
我还编写了一些代码,以给定的时间间隔生成数据
我想要的是一种解释4个time和date列的方法,这样我就有了一个timestamp,它是一个简单的值‘t=0之后有多少5分钟’
这将导致单个时间日期数组读取0、1、2、3、4。。。对于前5个可能的观察。这里值得注意的是,在原始的csv文件中,数据并不是每5分钟就占用一个可能的间隔,而是有不同长度的间隔
最终,我希望能够有一个列表,列出观察每个对象时的时间-日期值
例如,我现在得到的是(仅适用于第1、2、3、4、5列):
star1, 0.250, 1, 1, 2015
star2, 0.583, 1, 1, 2015
star3, 0.916, 1, 1, 2015
star1, 0.250, 2, 1, 2015
star2, 0.583, 2, 1, 2015
star3, 0.916, 2, 1, 2015...
我想变成:
t_star1 = [3, 291,...]
t_star2 = [7, 295,...]
t_star3 = [11, 299,...]
这里我用2015年1月1日的00:00作为t=0,所以00:05/1/1/2015是t=1,以此类推每5分钟一次。我的csv文件实际上运行了10年,有大约70000个条目
对我来说,让这变得复杂的是,在时间栏中,小时/分钟以一种有趣的方式表示,每个月都有不同的天数。所以找到某个东西的时间戳并不是一个简单的操作
谢谢
考虑使用标准的
datetime
模块:https://docs.python.org/3.5/library/datetime.html然后
datetime
有一系列的方法在时间重现之间进行转换相关问题 更多 >
编程相关推荐