Python 在csv文件上迭代
我必须生成一个函数,它将返回一个元组,其中包含该国的最高温度以及记录该温度的城市列表。数据以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
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))