【发布时间】:2014-02-03 17:03:28
【问题描述】:
所以,我已经尝试过很多次了;这是我最近的尝试:
import csv
import collections
import datetime
print "Please type file name to open:"
fileName = raw_input('> ')
print ""
incidents = collections.Counter()
with open(fileName) as input_file:
for row in csv.reader(input_file, delimiter=','):
d0 = str(incidents[row[8]])
d1 = str(incidents[row[7]])
date0 = datetime.datetime.strptime(d0, "%Y/%m/%d %H:%M:%S").date()
date1 = datetime.datetime.strptime(d1, "%Y/%m/%d %H:%M:%S").date()
delta = (date0 - date1).days
print delta
基本上,我有一个包含两列数据的 CSV 文件。两者都是这种格式的日期:“1/21/2014 10:51 AM”。我需要能够获取日期的差异并将其转换为小数。
例如,如果第 1 列第 1 行是“1/21/2014 10:51 AM”,第 2 列第 1 行是“9/4/2012 2:56:29 AM”。那么最终输出应该是“504.33”。
如果需要,我可以发布其他尝试/更深入的解释。
【问题讨论】:
-
你的问题是什么?
-
如何通过 CSV 文件找到上述两个日期/时间之间的差异?
-
另外,
1/21/2014VS%Y/%m/%d似乎很明显顺序错误。它应该是 %e。请阅读您正在使用的功能的文档。 -
您输入的时间戳不一致(一个有秒,另一个没有)。每列是否有任何一致性,或者日期是否随机缺少秒数?
-
@user3266742:我刚刚告诉过您,您的帖子中的日期不一致。您是否忘记在第一个时间戳中包含秒数?
标签: python csv datetime time import-from-csv