lines = f.readlines()
f.close()
-# Parse first table file line for the names and order of districts.
+# Parse first table file line for the names and order of districts.
db = {}
sorted_districts = []
for header in lines[0].split():
# sum of the individual districts new infections. Yes, sometimes Lageso sends
# data that is troubled in this way. It will then have to be fixed manually in
# the table file, since we should have a human look at what mistake was
-# probably made.
+# probably made.
for date in sorted_dates:
sum_district = sorted_districts[-1]
day_sum = 0
if i < 6:
continue
date = sorted_dates[i]
- week_dates = []
+ week_dates = []
for j in range(7):
- week_dates += [sorted_dates[i - j]]
+ week_dates += [sorted_dates[i - j]]
for district in sorted_districts:
district_pop = district_pops[district]
week_sum = 0
db[district][date]['week_average'] = week_sum / 7
db[district][date]['week_incidence'] = (week_sum / district_pop) * 100000
+# Explain what this is.
+intro = """Table of Berlin's Corona infection number development by districts.
+Updated daily around 9pm.
+
+Abbrevations/explanations:
+
+CW: Charlottenburg-Wilmersdorf
+FK: Friedrichshain-Kreuzberg
+Li: Lichtenberg
+MH: Marzahn-Hellersdorf
+Mi: Mitte
+Ne: Neukölln
+Pa: Pankow
+Re: Reinickendorf
+Sp: Spandau
+SZ: Steglitz-Zehlendorf
+TS: Tempelhof-Schöneberg
+TK: Treptow-Köpenick
+sum: sum for all the districts
+wsum: sum for last 7 days
+wavg: per-day average of new infections for last 7 days
+winc: incidence (x per 100k inhabitants) of new infections for last 7 days
+
+Source code: https://plomlompom.com/repos/?p=berlin-corona-table
+"""
+print(intro)
+
# Output table of enhanced daily infection data, newest on top, separated into
# 7-day units.
sorted_dates.reverse()
if weekday_count == 0:
print(' '*11, ' '.join(sorted_districts[:-1]),
sorted_districts[-1], 'wsum', ' wavg', 'winc')
- week_start_date = date
+ week_start_date = date
- # Day data line.
+ # Day data line.
new_infections = []
for district in sorted_districts:
new_infections += [db[district][date]['new_infections']]
sum_district = sorted_districts[-1]
sum_district_data = db[sum_district][date]
if 'week_sum' in sum_district_data:
- week_sum = '%4s' % sum_district_data['week_sum']
+ week_sum = '%4s' % sum_district_data['week_sum']
if 'week_average' in sum_district_data:
- week_avg = '%5.1f' % sum_district_data['week_average']
+ week_avg = '%5.1f' % sum_district_data['week_average']
if 'week_incidence' in sum_district_data:
- week_inc = '%4.1f' % sum_district_data['week_incidence']
+ week_inc = '%4.1f' % sum_district_data['week_incidence']
print(date, ' '.join(['%3s' % infections for infections in new_infections]),
- week_sum, week_avg, week_inc)
+ week_sum, week_avg, week_inc)
# Maintain 7-day cycle.
weekday_count += 1