gpt4 book ai didi

python - 如何在 csv 列中查找最高值并使用 Python 打印具有这些最高值的整行?

转载 作者:太空宇宙 更新时间:2023-11-04 01:32:44 26 4
gpt4 key购买 nike

我是 python 的新手,我发现它很有用,因为我确实需要定期从大型 csv 文件中查找值,因此我尝试使用它。

This is my csv file:
Name, Tag, Size, Height1, Height2,
Name1, B1, 244,42798,5900
Name2, B4, 200,22798,2234
Name3, B5, 240,25798,2745
Name4, B7, 220,32798,4590

我尝试使用这段代码,但我仍然把它们弄乱了。

import csv
input = open('file.csv','r')
number_top_values = raw_input(‘How many top values you need to find?’) #number of top values
file = csv.reader(input)
line1 = file.next()
height = [(row[3],(row[4])) for row in file]
height.sort(key = lambda x: x[1])
height.reverse()
height = height[:number_top_values]
print height

我需要在列中找到 Height1 和 Height2 的最高值(前 2 名或前 3 名等,具体取决于我需要找到多少个最高值)并获得具有这些最高值的整行。任何建议或可能的答案都会有很大的帮助。谢谢。

最佳答案

您目前正在使用:

height = [(row[3],(row[4])) for row in file]
height.sort(key = lambda x: x[1])
height.reverse()

在第一行中,您删除了一些您需要的数据(因为您需要整行)。第三行可以通过修改第二行而变得多余。一起:

height = list(file)
height.sort(key=lambda x: int(x[3]), reverse=True)

这按 Height1 排序。如果要按 Height2 排序,请将 3 更改为 4。如果您想对一个排序然后对另一个排序,您可以排序两次或做一些更棘手的事情:

height.sort(key=lambda x: (int(x[3]), int(x[4])), reverse=True)

关于python - 如何在 csv 列中查找最高值并使用 Python 打印具有这些最高值的整行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12667529/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com