【发布时间】:2020-08-12 14:09:56
【问题描述】:
这里是 Python 新手用户。我正在尝试让一个程序将来自 .csv 文件的字典行与 dictReader 与我自己的字典数据进行比较。我的程序将从 csv 文件中获取每一行并将其与我的数据的每一列进行比较以找到匹配项。一旦找到所有数据都匹配的行,它将打印出该行的键,即“名称”。
我的问题是,我找不到方法告诉我的程序这样做。我在嵌套 for 循环中的 if 语句中放置了一个中断,因此如果列不匹配,它会立即移动到下一个“名称”行。如果我将 print() 指向嵌套 for 循环的末尾,它只会打印名称,无论列匹配多少次。我只想将名称打印一次,如果所有列都匹配...(就像,如果它到达 for 循环的末尾)
with open(f"databases/{argv[1]}", "r") as dna_database:
data = csv.DictReader(dna_database)
for row in data:
for column in dna:
if dna[column] != int(row[column]):
break
print(row["name"])
dna_database.close()
【问题讨论】:
标签: python dictionary for-loop printing