【发布时间】:2018-10-27 07:38:59
【问题描述】:
我有以下两个 CSV 文件:
CSV 文件 1:
Range1,2018-05-17 01:50:17+0000,2018-05-17 02:00:17+0000
Range2,2018-05-17 01:50:17+0000,2018-05-17 04:00:17+0000
Range3,2018-05-17 01:50:17+0000,2018-05-17 08:00:17+0000
CSV 文件 2:
TimeStamp1,2018-05-17 01:59:17+0000
TimeStamp2,2018-05-17 03:59:17+0000
TimeStamp3,2018-05-17 07:59:17+0000
我想遍历 File1 中的每个 Range 并确定哪个 TimeStamp 落在被比较的 Range 内。例如。我的 Python 脚本的输出将显示:
输出:
TimeStamp1 falls within Range1
TimeStamp1, TimeStamp2 falls within Range2
TimeStamp1, TimeStamp2, TimeStamp3 falls within Range3
我开始写这样的东西,但是在获取输出和 if 语句时遇到问题,无法正确地通过 File1 正确迭代 File2 中的所有行,然后在 File1 中重复下一行,在 File2 中再次重复所有行。提前谢谢你。
import csv
with open('File1', 'rb') as range, open('File2', 'rb') as timeStamp:
range_reader = csv.reader(range, quotechar='"')
timeStamp_reader = csv.reader(timeStamp, quotechar='"')
for range_row in range_reader:
print range_row[2]
print range_row[3]
for timeStamp_row in timeStamp_reader:
print timeStamp_row[2]
if range_row[2] <= timeStamp_row[2] and range_row[3] >= timeStamp_row[2]
print " %s falls within %s "% (timeStamp_row[1], range_row[1])
【问题讨论】:
-
只是澄清一下:我想取 File1 中的第一行,并遍历 File2 中的每一行以查看 Timestamp 是否在第一个 Range1 内。然后取 File1 中的第二行,并再次遍历 File2 中的每一行,然后取 File1 中的第三行,并再次遍历 File2 中的每一行等...
标签: python csv timestamp compare range