Что я пытаюсь сделать: Я импортирую из csv и пытаюсь перебрать данные, чтобы проверить совпадения.
Что я пробовал:
Я пытаюсь использовать вложенный цикл для итерации по большому списку и проверки каждого элемента в меньшем списке.
FYI "Название пестицида" - это заголовок столбца в файле d_reader, поэтому это имя ключа.
agqfile=open("GCLC-USA-1.csv")
csv_a=csv.reader(agqfile)
d_reader=csv.DictReader(open("Pesticide_output.csv"))
for row in d_reader:
# print (row['Pesticide Name'])
for chem in csv_a:
print(chem[0],row['Pesticide Name'])
if chem[0] in row['Pesticide Name']:
print(chem[0],"found in ",row['Pesticide Name'])
# print(row['Pesticide Name'])
Что я ожидаю:
Внешний цикл не должен выходить до тех пор, пока он не будет завершен, но он завершается после первой итерации.
Однако, если я помещаю оператор print перед вторым (вложенным) циклом for, он печатает каждую итерацию.
Я не понимаю этого поведения! Пожалуйста, вы можете помочь мне, объяснив это?
Я пытался сделать этот вопрос как можно более кратким, но если вам нужна дополнительная информация, такая как образец данных или распечатка типов данных, тогда я могу предоставить это.