我对编码很新,而且我仍然坚持当前的项目.我有一个.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
Run Code Online (Sandbox Code Playgroud)
我一直得到类似的东西:
9
Run Code Online (Sandbox Code Playgroud)
问题是,它只返回最大的整数(恰好是9),当它应该返回15,000这样的东西时.我怀疑该程序只是将每个数字视为自己的值......我怎样才能看到每个数字中的整个数字?
对不起,对于新问题.谢谢!
目前,您正在比较每个字符column[14]并将词法最大字符设置为answer.假设你想要算术比较整个column[14]你需要replace逗号''并转换为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
Run Code Online (Sandbox Code Playgroud)
如果您需要具有最大值的整行,column[14]您可以使用以下key参数max:
answer = max(reader, key=lambda column: int(column[14].replace(',','')))
print answer
Run Code Online (Sandbox Code Playgroud)