【发布时间】:2019-08-29 22:50:01
【问题描述】:
我正在尝试做的事情:我正在从 csv 导入并尝试遍历数据以检查匹配项。
我尝试过的: 我正在尝试一个嵌套的 for 循环,遍历较大的列表,并检查较小列表中的每个项目。
仅供参考,“农药名称”是 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'])
我的期望: 外部循环在完成之前不应退出,但在第一次迭代后退出。 但是,如果我在第二个(嵌套的)for 循环之前放置一个 print 语句,它会打印每次迭代。
我不明白这种行为!请你帮我解释一下吗?
我试图让这个问题尽可能简短,但如果您需要更多信息,例如数据样本或打印数据类型,那么我可以提供。
【问题讨论】: