在csv文件PYTHON的列中查找最大值
我对编码相当陌生,而且我一直在做一个当前的项目。我有一个.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
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']
。