迭代从 csv 传递过来的列表。柱子
Iterating over a list parsed over from a cvs. column
我正在尝试遍历包含温度的列表。
将 data/temperatures 从 csv 文件附加到列表数据结构不是问题。当我想计算温度高于 6 的次数时,就会出现问题。我正在打印测试。
我得到一个错误,因为 csv.column 中的第一个元素是一个变量 "SDK",它表示温度。 'bypass' 如何成为该列中的第一个值 ("SDK")?因为我只 want/need 迭代整数。
代码:
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)
在 data[8]
中,您不仅有整数值。您可以选择 try...except
,如:
temperaturesDays = []
for line in lines:
data = line.split(',')
try:
temperaturesDays.append(int(data[8]))
except:
pass
return temperaturesDays
... 或 check/cast 其他地方(例如 float(...)
、isinstance(...)
)。
没有真实的样本值,但很难猜测。
我正在尝试遍历包含温度的列表。 将 data/temperatures 从 csv 文件附加到列表数据结构不是问题。当我想计算温度高于 6 的次数时,就会出现问题。我正在打印测试。
我得到一个错误,因为 csv.column 中的第一个元素是一个变量 "SDK",它表示温度。 'bypass' 如何成为该列中的第一个值 ("SDK")?因为我只 want/need 迭代整数。
代码:
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)
在 data[8]
中,您不仅有整数值。您可以选择 try...except
,如:
temperaturesDays = []
for line in lines:
data = line.split(',')
try:
temperaturesDays.append(int(data[8]))
except:
pass
return temperaturesDays
... 或 check/cast 其他地方(例如 float(...)
、isinstance(...)
)。
没有真实的样本值,但很难猜测。