from lib import csv_io from lib import json_io dengue = csv_io.read_csv('../data/dengue_small_region.csv') population = csv_io.read_csv('../data/population.csv') data = {} elderData = {} header = dengue[0] dengue = dengue[1:] for case in dengue: if case[-3] not in data: data[case[-3]] = 0 elderData[case[-3]] = 0 data[case[-3]] += 1 if case[2][0] == '6' or case[2][0] == '7': elderData[case[-3]] += 1 header = [population[1][4]] + ['病例人數', '長者人數', '總百分比', '長者百分比'] population = population[2:] new_data = {} max_t = 0 max_e = 0 for region in population: code = region[2] people = region[4] region = [region[4]] if code in data: total = data[code] elder = elderData[code] region.append(total)
#!/usr/bin/env python2.7 # -*- coding: utf-8 -*- import requests import csv from datetime import datetime from datetime import timedelta from datetime import date from geopy.distance import vincenty from lib import json_io from lib import csv_io if __name__ == '__main__': data = csv_io.read_csv('./2015_dengue.csv') data = data[1:] count = 0 new_data = [] current_date = data[0][0] for row in data: event_date = row[0] if current_date == event_date: count += 1 else: new_data.append({'date': current_date, 'value': count}) count = 1 current_date = event_date new_data.append({'date': current_date, 'value': count}) json_io.write_json('../../data/2015_kao_bar.json', new_data)
from lib import csv_io from lib import json_io files = { 'Vietnam': './data/Database- VN - Project VN 2.csv', 'South Korea': './data/Database- SK - Project SK 2.csv' } stats = {} output = [] for c, path in files.items(): stats[c] = {} data = csv_io.read_csv(path) for row in data[1:]: if not row[4] or not row[6]: continue # "Financier's countries" if row[4] not in stats[c]: stats[c][row[4]] = 0 stats[c][row[4]] += float(row[6]) for target, sourceObj in stats.items(): for source_name, v in sourceObj.items(): if source_name != target: if source_name == 'south Korea': source_name = 'South Korea' output.append({ 'source': source_name, 'target': target, 'value': round(v, 0)
def filter_data(input_): data = [] for item in input_: data.append([item[4], item[8], item[9]]) return data if __name__ == '__main__': url = 'http://denguefever.csie.ncku.edu.tw/file/drug_all.csv' data = csv_io.req_csv(url, 'utf-8') data = filter_data(data) data = data[1:] dengue_data = csv_io.read_csv('../data/data.csv') tmp = dengue_data[-1][1] now = datetime.strptime(tmp, '%Y/%m/%d').date() header = ['日期', 'Latitude', 'Longitude'] output_data = [] for row in data: d = '2015年' + row[0] event_date = datetime.strptime(d, '%Y年%m月%d日').date() if event_date > now: break delta = now - event_date row[-1], row[-2] = float(row[-1]), float(row[-2]) if delta.days < 7: output_data.append(row) output_data.insert(0, header)
from lib import csv_io from lib import json_io from datetime import datetime from datetime import timedelta from datetime import date dengue = csv_io.read_csv('../data/tainan_population.csv') header = dengue[0] dengue = dengue[1:] data = {} for row in dengue: row[1] = row[1].replace(' ', '') if row[1] not in data: data[row[1]] = {} for i in range(7, len(row)): d = str(header[i]) age = d.replace('歲', '').replace('-', '').replace('男', '').replace('女', '').replace('以上', '') age = int(age) number = int(row[i]) if age < 20: if '0-20' in data[row[1]]: data[row[1]]['0-20'] += number else: data[row[1]]['0-20'] = number elif age < 40: if '20-40' in data[row[1]]: data[row[1]]['20-40'] += number else: data[row[1]]['20-40'] = number
from lib import csv_io from datetime import datetime data = csv_io.read_csv('./sheet.csv') new = [['日期', '里別', 'Latitude', 'Longitude']] data = data[1:] for item in data: item[6] = datetime.strptime('2015/' + item[6], '%Y/%m/%d').date() data = sorted(data, key=lambda x: x[6]) for item in data: if item[-3] == '陽性': item[6] = item[6].strftime('%Y/%m/%d') new.append([item[6], item[3], item[-2], item[-1]]) csv_io.write_csv('dengue.csv', new)
from lib import csv_io from lib import json_io from datetime import datetime from datetime import timedelta from datetime import date dengue = csv_io.read_csv('../data/dengue_small_region.csv') dengue = dengue[1:] data = {} for row in dengue: if row[-5] not in data: data[row[-5]] = {} age = row[2].replace('+', '').split('-') if len(age) == 2: age1, age2 = age age1 = int(age1) age2 = int(age2) if 0 <= age1 and age2 < 20: if '0-20' in data[row[-5]]: data[row[-5]]['0-20'] += 1 else: data[row[-5]]['0-20'] = 1 elif age2 <= 40: if '20-40' in data[row[-5]]: data[row[-5]]['20-40'] += 1 else: data[row[-5]]['20-40'] = 1 elif age2 <= 60: if '20-40' in data[row[-5]]:
# -*- coding: utf-8 -*- import requests import csv import sys from lib import csv_io def write_csv(file_name, content): """write csv""" with open(file_name, 'w') as output_file: writer = csv.writer(output_file) writer.writerows(content) if __name__ == '__main__': data = csv_io.read_csv('../data/dengue_all.csv') urls = [ 'http://data.tainan.gov.tw/dataset/3ad9da64-0c29-4299-b769-320b57a09be8/resource/7bf16e0a-2445-4ccf-a0a0-ae06a8fda4ac/download/z104104121207.csv', 'http://data.tainan.gov.tw/dataset/3ad9da64-0c29-4299-b769-320b57a09be8/resource/d4af5055-3d2c-420f-ad12-373cfae430d3/download/z104104121208.csv' ] for u in urls: print(urls) data += csv_io.req_csv(u, 'utf-8')[1:] #data = csv_io.read_csv('../data/dengue_all.csv') for item in data: if not item[0]: del item continue if len(item) < 7: