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])