pythonを使用してファイルから数値天気データを読み込み、湿度条件を確認しています。湿度が75以下の場合、湿度は「低」と書き換え、湿度が75を超える場合は「高」と書き直す必要があります。以下は私のデータです。python if-else文は、条件の場合にのみtrueを返します。
見通し、温度、湿度、風、
- 、晴れ85,85、FALSE、無
- 晴れ、80,90、TRUE、83,86、曇りFALSEない
- をpermission_to_playはい、
- 雨、70,96、FALSE、はい
- 雨、68,80、FALSE、はい
- 雨、65,70、TRUE、無
- O vercast、TRUE 64,65、はい
- は、72,95、晴れFALSE、無
- 晴れ、69,70、FALSE FALSE、はい
- 雨、75,80、はい
- 晴れ、 75,70、TRUE、そう
- 曇り、72,90、TRUE、そう
- 曇り、81,75、FALSE、はい
- TRUE雨、71,91、無
Iこのファイルをリストで読み、ハムにアクセスしていますidity値。以下は私が書いたコードです。
def fetchData(fileName):
datalist = []
rd =open(fileName,mode='r')
list = rd.readlines()
for l in list:
subList = l.strip().split(',')
humidity=subList[2]
if humidity>75:
subList[2]="high"
else:
subList[2]="low"
datalist.append(subList)
return datalist
dataList = fetchData('weather.numeric.data')
print dataList
この実行後、データ番号6,7,9,11,13は湿度値が低く、その他は高くなければなりません。しかし、下の出力に見られるように、すべての湿度値が高くなっています。
[['sunny', '85', 'high', 'FALSE', 'no'], ['sunny', '80', 'high', 'TRUE', 'no'], ['overcast', '83', 'high', 'FALSE', 'yes'], ['rainy', '70', 'high', 'FALSE', 'yes'], ['rainy', '68', 'high', 'FALSE', 'yes'], ['rainy', '65', 'high', 'TRUE', 'no'], ['overcast', '64', 'high', 'TRUE', 'yes'], ['sunny', '72', 'high', 'FALSE', 'no'], ['sunny', '69', 'high', 'FALSE', 'yes'], ['rainy', '75', 'high', 'FALSE', 'yes'], ['sunny', '75', 'high', 'TRUE', 'yes'], ['overcast', '72', 'high', 'TRUE', 'yes'], ['overcast', '81', 'high', 'FALSE', 'yes'], ['rainy', '71', 'high', 'TRUE', 'no']]
どのような変更を行う必要がありますか? ありがとうございます! :)
文字列を読んで、それらを 'int'sと比較しています! '75'と比較する前に' int'にキャスト: 'humidity = int(subList [2])' – schwobaseggl