From 8c3bbfa4804a0ae2c11af531849d23d31576294c Mon Sep 17 00:00:00 2001 From: Remco Tukker <remco.tukker@geant.org> Date: Tue, 25 Apr 2023 11:56:48 +0200 Subject: [PATCH 1/2] fix parsing of income sources from excel for 2016 and 2017 --- .../background_task/parse_excel_data.py | 60 ++++++++++++------- 1 file changed, 40 insertions(+), 20 deletions(-) diff --git a/compendium_v2/background_task/parse_excel_data.py b/compendium_v2/background_task/parse_excel_data.py index 4148c91e..c02cde43 100644 --- a/compendium_v2/background_task/parse_excel_data.py +++ b/compendium_v2/background_task/parse_excel_data.py @@ -66,29 +66,49 @@ def fetch_funding_excel_data(): return float(0) # iterate over the rows in the worksheet + def create_points_for_year_until_2017(start_row, end_row, year, col_nren, col_start): + for row in range(start_row, end_row): + # extract the data from the row + nren = ws.cell(row=row, column=col_nren).value + client_institution = ws.cell(row=row, column=col_start).value + commercial = ws.cell(row=row, column=col_start + 1).value + geant_subsidy = ws.cell(row=row, column=col_start + 2).value + gov_public_bodies = ws.cell(row=row, column=col_start + 3).value + other_european_funding = ws.cell(row=row, column=col_start + 4).value + other = ws.cell(row=row, column=col_start + 5).value + print(nren, client_institution, commercial, geant_subsidy, gov_public_bodies, other_european_funding, other) + + client_institution = hard_number_convert(client_institution, "client institution", nren, year) + commercial = hard_number_convert(commercial, "commercial", nren, year) + geant_subsidy = hard_number_convert(geant_subsidy, "geant subsidy", nren, year) + gov_public_bodies = hard_number_convert(gov_public_bodies, "gov/public_bodies", nren, year) + other_european_funding = hard_number_convert(other_european_funding, "other european funding", nren, year) + other = hard_number_convert(other, "other", nren, year) + + european_funding = geant_subsidy + other_european_funding # TODO check with Daniel - def create_points_for_year(start_row, end_row, year, col_start): + # process the data (e.g. save to database) + if nren is not None: + yield (nren.upper(), year, client_institution, + european_funding, + gov_public_bodies, + commercial, other) + + def create_points_for_year_from_2018(start_row, end_row, year, col_start): for row in range(start_row, end_row): # extract the data from the row nren = ws.cell(row=row, column=col_start).value - client_institution = ws.cell(row=row, - column=col_start + 3).value + client_institution = ws.cell(row=row, column=col_start + 3).value european_funding = ws.cell(row=row, column=col_start + 4).value - gov_public_bodies = ws.cell(row=row, - column=col_start + 5).value + gov_public_bodies = ws.cell(row=row, column=col_start + 5).value commercial = ws.cell(row=row, column=col_start + 6).value other = ws.cell(row=row, column=col_start + 7).value - client_institution = hard_number_convert( - client_institution, "client institution", nren, year) - european_funding = hard_number_convert( - european_funding, "european funding", nren, year) - gov_public_bodies = hard_number_convert( - gov_public_bodies, "gov/public_bodies", nren, year) - commercial = hard_number_convert( - commercial, "commercial", nren, year) - other = hard_number_convert( - other, "other", nren, year) + client_institution = hard_number_convert(client_institution, "client institution", nren, year) + european_funding = hard_number_convert(european_funding, "european funding", nren, year) + gov_public_bodies = hard_number_convert(gov_public_bodies, "gov/public_bodies", nren, year) + commercial = hard_number_convert(commercial, "commercial", nren, year) + other = hard_number_convert(other, "other", nren, year) # process the data (e.g. save to database) if nren is not None: @@ -98,19 +118,19 @@ def fetch_funding_excel_data(): commercial, other) # For 2016 - yield from create_points_for_year(8, 50, 2016, 43) + yield from create_points_for_year_until_2017(8, 50, 2016, 43, 45) # For 2017 - yield from create_points_for_year(8, 50, 2017, 32) + yield from create_points_for_year_until_2017(8, 50, 2017, 32, 35) # For 2018 - yield from create_points_for_year(8, 50, 2018, 21) + yield from create_points_for_year_from_2018(8, 50, 2018, 21) # For 2019 - yield from create_points_for_year(8, 50, 2019, 12) + yield from create_points_for_year_from_2018(8, 50, 2019, 12) # For 2020 - yield from create_points_for_year(8, 50, 2020, 3) + yield from create_points_for_year_from_2018(8, 50, 2020, 3) def fetch_charging_structure_excel_data(): -- GitLab From 9a7228bb3c289445075717ec38e94a63876f927e Mon Sep 17 00:00:00 2001 From: Remco Tukker <remco.tukker@geant.org> Date: Tue, 25 Apr 2023 14:23:16 +0200 Subject: [PATCH 2/2] remove TODO --- compendium_v2/background_task/parse_excel_data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compendium_v2/background_task/parse_excel_data.py b/compendium_v2/background_task/parse_excel_data.py index c02cde43..d599f477 100644 --- a/compendium_v2/background_task/parse_excel_data.py +++ b/compendium_v2/background_task/parse_excel_data.py @@ -85,7 +85,7 @@ def fetch_funding_excel_data(): other_european_funding = hard_number_convert(other_european_funding, "other european funding", nren, year) other = hard_number_convert(other, "other", nren, year) - european_funding = geant_subsidy + other_european_funding # TODO check with Daniel + european_funding = geant_subsidy + other_european_funding # process the data (e.g. save to database) if nren is not None: -- GitLab