我一直在尝试对csv文件进行线性搜索,并编写了一个简单的算法来执行此操作。它应该打印搜索的行数和信息
import csv
count = 1
with open('UKDATA.csv') as csvfile: #This opens the file as a csv file
reader = csv.DictReader(csvfile)
for row in reader:
first_name = row["first_name"]
last_name = row["last_name"]
if first_name == "Alethea" and last_name == "Mould" :
print(count, "rows searched")
print("Alethea Mould found on line",count+1)
print(row)
break
count += 1
每次我运行此代码时,它都会以不同的顺序打印出信息。 为什么这样做呢 感谢
答案 0 :(得分:0)
大概你的意思是它在语句
期间以不同的顺序打印出行字段print(row)
为什么呢?您已将reader
创建为DictReader
,这意味着它会将每行返回为字典。字典不承诺任何密钥排序。
如果您希望以正确的顺序打印,那么您可以使用以下内容:
print([row[k] for k in reader.fieldnames])