Python线性搜索排序chang

2024-04-20 10:55:06 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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


Tags: 文件csvcsvfilename信息ascountreader
1条回答
网友
1楼 · 发布于 2024-04-20 10:55:06

您的意思可能是它在语句中以不同的顺序打印行字段

print(row)

为什么?您已经将reader创建为DictReader,这意味着它将每一行作为字典返回。字典不允许对钥匙进行任何排序。你知道吗

如果希望按正确的顺序打印,则可以使用以下方法:

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

相关问题 更多 >