1

我正在尝试遍历包含温度的列表。将 csv 文件中的数据/温度附加到列表数据结构不是问题。当我想计算温度高于 6 的次数时会出现问题。我正在打印测试。

由于 csv.column 中的第一个元素是一个变量“SDK”,我得到一个错误,它表示温度。如何“绕过”该列中的第一个值(“SDK”)?因为我只想/需要遍历整数。

编码:

def sunshine(file):
    with open(file,'r') as csv_file:
        lines = csv_file.readlines()

    temperaturesDays = []
    for line in lines:
        data = line.split(',')
        temperaturesDays.append(data[8])
    return temperaturesDays

    #print(temperaturesDays)


daily_sunshine_duration = sunshine('berlin.csv')
#print(daily_sunshine_duration) #works, print temps

for i in daily_sunshine_duration:
    if i < 6:
        print(i)

4

1 回答 1

1

data[8]你体内不仅有整数值。你可以选择try...except如下:

temperaturesDays = []
for line in lines:
    data = line.split(',')
    try:
        temperaturesDays.append(int(data[8]))
    except:
        pass
return temperaturesDays

...或在其他地方检查/投射它(例如float(...)isinstance(...))。
如果没有真实的样本值,很难猜测。

于 2020-01-03T21:27:12.113 回答