python遍历csv文件匹配_python – 匹配多个CSV文件中的多个元素

我有两个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的新手,所以如果我在这篇文章中做错了,请通知我.

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值