PYTHON: ¿La forma más sencilla de abrir un archivo csv y encontrar el número máximo en una columna y el nombre que se asocia con él?

He mirado esta referencia, así que por favor no me remitan a ella.

Encontrar el número máximo en el archivo .CSV en Python Me costó modificar este código a mi propio documento durante más de una hora sin resultados. Lo mejor que obtuve de ese código fue imprimir el valor máximo, y obtuve 0, lo cual es incorrecto. Necesito 1) encontrar el valor máximo en la columna F, (38,332,521) y 2) imprimir el estado asociado con el valor máximo (California).

Aquí está el csv que estoy usando: https://drive.google.com/open?id=0B29hT1HI-pwxMjBPQWFYaWoyalE

Este es el código que he creado yo mismo, cualquier ayuda / comentario sería apreciado!

def largestState(): INPUT = "statepopulations.csv" COLUMN = 5 # 6th column with open(INPUT, "rU") as csvFile: theFile = csv.reader(csvFile) header = next(theFile, None) # skip header row pop = [float(row[COLUMN]) for row in theFile] max_pop = max(pop) print max_pop largestState() 

La función max debería manejar eso por ti. En mi código de abajo ya he “leído” el CSV ( con datos falsos, pero parece que tienes un conocimiento de esa parte )

 data = [ ["California", 123456], ["Idaho", 123], ["Utah", 2] ] print max(data, key=lambda _: _[1]) 

Esto produce ['California', 123456]

La key=lambda _: _[1] le dice a la función que use el segundo valor de cada registro, la población en este caso, para verificar el máximo.

Poner todo junto debería ser algo como:

 def largestState(): INPUT = "statepopulations.csv" COLUMN = 5 with open(INPUT, "rU") as csvFile: data = csv.reader(csvFile) next(data, None) return max(data, key=lambda _: _[COLUMN])