我对python比较新,我发现它很有用,因为我确实需要定期从大csv文件中查找值,因此我试图使用它。如何在csv列中查找最高值并使用Python打印具有这些最高值的整行?
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和身高2顶值(顶部2个或前3等等取决于我需要多少顶值找到),并获得有这些顶级值整行。任何建议或可能的答案将是一个很大的帮助。谢谢。
- x [3]或-x [4]将不起作用,因为x [3]和x [4]是字符串。无论如何,排序技巧+1! –
感谢您提供的所有意见和解答,以及让我更容易理解代码的解释。 – user1710791
@AnujGupta:哦,你说得对;我错过了。我会编辑我的答案。 – icktoofay