在csv文件PYTHON的列中查找最大值

在csv文件PYTHON的列中查找最大值,python,csv,Python,Csv,我对编码相当陌生,而且我一直在做一个当前的项目。我有一个.csv文件,而不是使用电子表格,我试图编写一个python程序来查找特定列的最大值。到目前为止,我有以下几点: import csv with open('american_colleges__universities_1993.csv', 'rU') as f: reader = csv.reader(f) answer = 0 for column in reader : answer = 0

我对编码相当陌生,而且我一直在做一个当前的项目。我有一个.csv文件,而不是使用电子表格,我试图编写一个python程序来查找特定列的最大值。到目前为止,我有以下几点:

import csv

with open('american_colleges__universities_1993.csv', 'rU') as f:
    reader = csv.reader(f)
    answer = 0
    for column in reader :
        answer = 0
        for i in column[14]:
            if i>answer:
                answer = i
print answer
我不断得到这样的信息:

9
问题是,这只返回最大的整数(正好是9),而它应该返回15000左右的值。我怀疑程序只是把每个数字看作它自己的值。。。如何让它查看每个条目中的完整数字


对不起,我问了个新问题。谢谢

目前,您正在比较[14]列中的每个字符,并将词汇最大字符设置为
answer
。假设您想对整个
列[14]
进行算术比较,则需要
逗号替换为
,并转换为
int
,例如:

with open('american_colleges__universities_1993.csv', 'rU') as f:
    reader = csv.reader(f)
    next(reader)     # Skip header row
    answer = max(int(column[14].replace(',', '')) for column in reader)
print answer
如果需要具有最大
列[14]
的整行,也可以使用
参数来
max

    answer = max(reader, key=lambda column: int(column[14].replace(',','')))
print answer

目前,您正在比较[14]
列中的每个字符,并将词汇最大字符设置为
答案
。假设您想对整个
列[14]
进行算术比较,则需要
逗号替换为
,并转换为
int
,例如:

with open('american_colleges__universities_1993.csv', 'rU') as f:
    reader = csv.reader(f)
    next(reader)     # Skip header row
    answer = max(int(column[14].replace(',', '')) for column in reader)
print answer
如果需要具有最大
列[14]
的整行,也可以使用
参数来
max

    answer = max(reader, key=lambda column: int(column[14].replace(',','')))
print answer
这应该能帮你完成工作


这将为您完成工作。

因此,列中的第一行是文本。我如何跳过它来查看实际的数字?我已经尝试了next(f)在调用
max
跳过标题行之前,您可以
next(reader)
。或者,您可以查看
DictReader
,然后使用
列['ColumnName']
。因此,列中的第一行是文本。我如何跳过它来查看实际的数字?我已经尝试了next(f)在调用
max
跳过标题行之前,您可以
next(reader)
。或者,您可以查看
DictReader
,然后使用
column['ColumnName']