#!/usr/bin/env python # -*- coding: utf-8 -*- # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA. import csv import urllib url = 'http://gut.greasingwheels.org/csv/csv' infile = urllib.urlopen(url) assert infile.getcode() == 200 # resource correctly retrieved reader = csv.reader(infile) reader.next() # skip headings fragmentCount = {} lineCount = {} for row in reader: line = row[1].split("-") try: lines = int(line[1]) - int(line[0]) + 1 except IndexError: lines = 1 category = row[6] try: lineCount[category] += lines except KeyError: lineCount[category] = lines try: fragmentCount[category] += 1 except KeyError: fragmentCount[category] = 1 print 'Kategorie, Fragmente, Zeilen' for key in fragmentCount.keys(): print key + ',', str(fragmentCount[key]) + ',', str(lineCount[key])