我有两个CSV文件,都包含日期和时间列.
对于EACH行,我需要在CSV 1和CSV 2中匹配时间和日期,并从CSV 2中提取天气.
CSV 1:
Date Time Value
2017/04/20 12:00 100
2017/03/20 12:00 250
2017/03/20 12:00 300
2017/02/20 12:00 80
2017/02/20 12:00 500
CSV 2:
Date Time Weather
2017/02/20 12:00 Sunny
2017/02/20 12:00 Sunny
2017/03/20 12:00 Sunny
2017/03/20 12:00 Sunny
2017/04/20 12:00 Sunny
我不知道它是否有效,但我做的第一件事就是将CSV文件附加到两个python列表:
list1 = []
list2 = []
for row in CSV1:
list1.append(row)
for row in CSV2:
list2.append(row)
然后我对list1中的每一行,获取日期和类型,并立即循环遍历list2中的每一行,直到元素匹配.
for row in list1:
published_date = row[0]
published_time = row[1]
for rows in list2:
if published_date == rows[0] and published_time == rows[1]:
"do something with rows[2]"
break
这样可行,但CSV1有1700行,CSV2有1.000.000行,因此这个过程需要150秒.有明显更快的方法吗?
我知道有一个元素必须匹配的解决方案,但这里是2,我无法调整单元素解决方案.
我是Stack Overflow的新手,所以如果我在这篇文章中做错了,请通知我.