PYTHON:打开csv文件并在列中找到最大数量及其关联名称的最简单方法?
我已经看过这份参考资料,所以请不要再参考我。
在Python的.CSV文件中查找最大数量。我努力将代码修改为自己的文档超过一个小时,但没有结果。从该代码中得到的最好结果是打印出最大值,而我得到了0,这是不正确的。我需要1)在F列中找到最大值(38,332,521)和2)打印出与最大值相关的状态(加利福尼亚州)。
这是我正在使用的csv:https://drive.google.com/open? id = 0B29hT1HI-pwxMjBPQWFYaWoyalE
这是我自己编写的代码,任何帮助/反馈将不胜感激!
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()
-
该
max
功能应为您处理。在下面的代码中,我已经“读取”了CSV( 包含伪造的数据,但是您似乎掌握了该部分 )data = [ ["California", 123456], ["Idaho", 123], ["Utah", 2] ] print max(data, key=lambda _: _[1])
这产生
['California', 123456]
该
key=lambda _: _[1]
告诉函数使用每个记录的第二值,人口在这种情况下,要检查最大。全部放在一起应该是这样的:
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])