Посмотрите на Python используя цикл for - PullRequest
0 голосов
/ 30 апреля 2020

Я пытался встроить vlookup функцию в python. У меня есть два файла. name = data - созданный в pythong, который имеет более 2000 строк. comp_data = CSV-файл загружен в систему, которая имеет 35 строк. Я должен сопоставить дату файла данных с 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 голосов
/ 30 апреля 2020

Один из вариантов - поместить ваши comp_data в словарь с вашими 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)

Возможно, одна строка способ сделать это с помощью итераторов!

...