擅长:python、mysql、java
<p>使用普通的旧Python的<code>datetime</code>:</p>
<pre><code>import datetime
dates = []
with open('datafile.txt','r') as fp:
fp.readline()
lines = fp.readlines()
for line in lines:
line = line.rstrip('\n').split()
data = float(line[3])
line = map(int, line[0:3])
line.append(data)
dates.append(line)
print '{0:<32}{1}'.format('datetime', 'data')
for dt in dates:
date = datetime.datetime(dt[0], 1, 1) + datetime.timedelta(days=dt[1], milliseconds=dt[2])
print '{0}\t{1}'.format(date, dt[3])
</code></pre>
<p>输出:</p>
^{pr2}$
<p>标题提到了微秒,而问题是指毫秒,因此根据需要更改传递给timedelta的参数。另外,我不确定<code>data</code>列指的是什么,也不知道如何将其包含在日期或时间中,因为问题确实包括毫秒。如果这个答案需要修改以匹配您想要的输出,请在注释中注明,我会更新。否则,修改它以获得精确的期望输出应该相当简单。在</p>
<p>请注意,仅使用python的本机<code>datetime</code>模块的代码几乎与pandas解决方案一样简洁,也许同样可读,如果我的代码更“pythonic”的话也会一样。在</p>
<p>不管怎样,希望这有帮助!在</p>