Python 在csv文件上迭代

Python 在csv文件上迭代,python,csv,iteration,python-3.3,Python,Csv,Iteration,Python 3.3,我必须生成一个函数,它将返回一个元组,其中包含该国的最高温度以及记录该温度的城市列表。数据以CSV文件的形式输入,格式如下: Month, Jan, Feb, March....etc. 到目前为止,我已经设法获得了最高温度,但当它试图找到发现该温度的城市时,它显示为一个空列表 def hottest_city(csv_filename): import csv file = open(csv_filename) header = next(file) dat

我必须生成一个函数,它将返回一个元组,其中包含该国的最高温度以及记录该温度的城市列表。数据以CSV文件的形式输入,格式如下:

Month, Jan, Feb, March....etc. 
到目前为止,我已经设法获得了最高温度,但当它试图找到发现该温度的城市时,它显示为一个空列表

def hottest_city(csv_filename):
    import csv
    file = open(csv_filename)
    header = next(file)
    data = csv.reader(file)
    city_maxlist = []
    for line in data:
        maxtemp = 0.0
        for temp in line[1:]:
            if float(temp >= maxtemp:
                maxtemp = float(temp)
        city_maxlist.append([maxtemp, line[0])
    maxtempcity = 0.0
    for city in city_maxlist:
        if city[0] >= maxtempcity:
            maxtempcity = city[0]
    citylist = []
    for line in data:
        for temp in line:
            if temp == maxtempcity:
                citylist.append(line[0])
    return (maxtempcity, citylist)
您的主要问题是“数据”是一个迭代器,因此您只能对其进行一次迭代(您对数据的第二次循环根本不进行循环)


应该有帮助。然后,正如Hans注意到的,您没有提供您执行的代码,因此我允许您在第二个循环中对数据进行更正。

您可以显示文件的一些行吗?您发布的代码不是您执行的代码。你能给我们看看实际代码吗?
data = list(csv.reader(file))