Python线性搜索订购更改

时间:2015-10-12 11:21:13

标签: python csv

我一直在尝试对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

每次我运行此代码时,它都会以不同的顺序打印出信息。 为什么这样做呢 感谢

1 个答案:

答案 0 :(得分:0)

大概你的意思是它在语句

期间以不同的顺序打印出行字段
print(row)

为什么呢?您已将reader创建为DictReader,这意味着它会将每行返回为字典。字典不承诺任何密钥排序。

如果您希望以正确的顺序打印,那么您可以使用以下内容:

print([row[k] for k in reader.fieldnames])