V使用for循环在Python中查找

时间:2020-04-30 08:45:04

标签: python vlookup

我一直试图在python中构建vlookup函数。我有两个文件。名称=数据-在pythong中创建,具有超过2000行。 comp_data =包含35行的系统中加载的csv文件。我必须将数据文件的日期与comp_data匹配,并必须加载与其对应的Exp_date。当前代码给出错误“ 35”。我无法理解问题。请帮忙。以下是代码:

data['Exp_date'] = datetime.date(2020,3,30)
z=0
for i in range(len(data)):
    if data['Date'][i] == comp_data['Date'][z]:
        data['Exp_date'][i] = comp_data['Exp_date'][z]
    else:
        z=z+1

1 个答案:

答案 0 :(得分:0)

一种选择是将comp_data放在字典中,将数据/ exp_date作为键/值对,然后让python为您查找。

data = {"date":["a","b","c","d","e","f"],"exp_date":[0,0,0,0,0,0]}
comp = {"a":10,"d":13}

for i in range(len(data['date'])):
    if data['date'][i] in comp:
        data['exp_date'][i] = comp[data['date'][i]]
print(data)

可能有一种使用迭代器的单线方式!