def collect_data(location, region): days = location.find('d:weatherElement', ns).findall('d:time', ns) date = [] temperature = [] humidity = [] rainfall = [] for day in days: tmp_date = day.find('d:dataTime', ns).text year_month = tmp_date[:7] d = tmp_date[8:] if(d == '01'): this_month_T, this_month_H, inter_value_T, inter_value_H = get_inter_value(region, year_month) date.append(tmp_date) temperature.append(this_month_T) humidity.append(this_month_H) rainfall.append(0) tmp_rainfall = day.find('d:elementValue', ns).find('d:value', ns).text # 原始資料缺漏 if tmp_rainfall == 'T': tmp_rainfall = 0 rainfall[-1] += float(tmp_rainfall) for i in range(12): add_weather_item(region, date[i], temperature[i], rainfall[i], humidity[i])
def collect_data(location, region): days = location.find('d:weatherElement', ns).findall('d:time', ns) for day in days: date = day.find('d:dataTime', ns).text year_month = date[:7] d = date[8:] if(d == '01'): this_month_T, this_month_H, inter_value_T, inter_value_H = get_inter_value(region, year_month) temperature = this_month_T + (float(d)-1)*inter_value_T + random.uniform(0, 1) humidity = this_month_H + (float(d)-1)*inter_value_H + random.uniform(0, 1) rainfall = day.find('d:elementValue', ns).find('d:value', ns).text # 原始資料缺漏 if rainfall == 'T': rainfall = 0 print (date, region) add_weather_item(region, date, temperature, rainfall, humidity)
def collect_data(location, region): date = location.find('d:time', ns).find('d:obsTime', ns).text date = date[:10] elements = location.findall('d:weatherElement', ns) for element in elements: if element.find('d:elementName', ns).text == 'TEMP': temperature = float(element.find('d:elementValue', ns).find('d:value', ns).text) if temperature < -50: temperature = None if element.find('d:elementName', ns).text == 'H_24R': rainfall = float(element.find('d:elementValue', ns).find('d:value', ns).text) if rainfall < 0: rainfall = None if element.find('d:elementName', ns).text == 'HUMD': humidity = float(element.find('d:elementValue', ns).find('d:value', ns).text) * 100 if humidity < 0: humidity = None add_weather_item(region, date, temperature, rainfall, humidity)
def collect_data(location, region): days = location.find('d:weatherElement', ns).findall('d:time', ns) for day in days: date = day.find('d:dataTime', ns).text year_month = date[:7] d = date[8:] if (d == '01'): this_month_T, this_month_H, inter_value_T, inter_value_H = get_inter_value( region, year_month) temperature = this_month_T + ( float(d) - 1) * inter_value_T + random.uniform(0, 1) humidity = this_month_H + (float(d) - 1) * inter_value_H + random.uniform(0, 1) rainfall = day.find('d:elementValue', ns).find('d:value', ns).text # 原始資料缺漏 if rainfall == 'T': rainfall = 0 print(date, region) add_weather_item(region, date, temperature, rainfall, humidity)
def collect_data(location, region): date = location.find('d:time', ns).find('d:obsTime', ns).text date = date[:10] elements = location.findall('d:weatherElement', ns) for element in elements: if element.find('d:elementName', ns).text == 'TEMP': temperature = float( element.find('d:elementValue', ns).find('d:value', ns).text) if temperature < -50: temperature = None if element.find('d:elementName', ns).text == 'H_24R': rainfall = float( element.find('d:elementValue', ns).find('d:value', ns).text) if rainfall < 0: rainfall = None if element.find('d:elementName', ns).text == 'HUMD': humidity = float( element.find('d:elementValue', ns).find('d:value', ns).text) * 100 if humidity < 0: humidity = None add_weather_item(region, date, temperature, rainfall, humidity)