power-grid-model-io 1.3.19__tar.gz → 1.3.21__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of power-grid-model-io might be problematic. Click here for more details.
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/PKG-INFO +1 -1
- power_grid_model_io-1.3.21/PYPI_VERSION +1 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/converters/pandapower_converter.py +2 -2
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/data_stores/excel_file_store.py +8 -1
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io.egg-info/PKG-INFO +1 -1
- power_grid_model_io-1.3.21/tests/unit/data_stores/test_vision_excel_file_store.py +76 -0
- power_grid_model_io-1.3.19/PYPI_VERSION +0 -1
- power_grid_model_io-1.3.19/tests/unit/data_stores/test_vision_excel_file_store.py +0 -22
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/LICENSE +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/MANIFEST.in +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/README.md +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/VERSION +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/pyproject.toml +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/setup.cfg +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/setup.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/config/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/config/examples/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/config/examples/multipliers.yaml +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/config/excel/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/config/excel/vision_en.yaml +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/config/excel/vision_en_9_7.yaml +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/config/excel/vision_en_9_8.yaml +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/config/excel/vision_nl.yaml +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/converters/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/converters/base_converter.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/converters/pgm_json_converter.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/converters/tabular_converter.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/converters/vision_excel_converter.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/data_stores/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/data_stores/base_data_store.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/data_stores/csv_dir_store.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/data_stores/json_file_store.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/data_stores/vision_excel_file_store.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/data_types/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/data_types/_data_types.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/data_types/tabular_data.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/functions/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/functions/_functions.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/functions/filters.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/functions/phase_to_phase.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/mappings/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/mappings/field_mapping.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/mappings/multiplier_mapping.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/mappings/tabular_mapping.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/mappings/unit_mapping.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/mappings/value_mapping.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/py.typed +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/auto_id.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/dict.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/download.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/excel_ambiguity_checker.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/json.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/modules.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/parsing.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/uuid_excel_cvtr.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/zip.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io.egg-info/SOURCES.txt +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io.egg-info/dependency_links.txt +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io.egg-info/requires.txt +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io.egg-info/top_level.txt +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/conftest.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/config/dummy_mapping.yaml +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/config/mapping.yaml +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pgm_asym_output_data.json +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pgm_asym_output_data.json.license +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pgm_input_data.json +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pgm_input_data.json.license +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pgm_output_data.json +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pgm_output_data.json.license +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pp_v2_net_3ph_output.json +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pp_v2_net_3ph_output.json.license +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pp_v2_net_3ph_output_current_loading.json +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pp_v2_net_3ph_output_current_loading.json.license +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pp_v2_net_output.json +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pp_v2_net_output.json.license +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pp_validation.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/excel_ambiguity_check_data.xlsx +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/excel_ambiguity_check_data.xlsx.license +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/pgm_input_data_en.json +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/pgm_input_data_en.json.license +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/pgm_input_data_nl.json +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/pgm_input_data_nl.json.license +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_9_5_en.yaml +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_9_5_nl.yaml +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_en.xlsx +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_en.xlsx.license +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_en_9_7.xlsx +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_en_9_7.xlsx.license +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_nl.xlsx +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_nl.xlsx.license +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_validation.vnf +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_validation.vnf.license +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/zip/foo-bar.zip +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/zip/foo-bar.zip.license +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/zip/foo.zip +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/zip/foo.zip.license +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/test_utils.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/conftest.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/converters/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/converters/test_base_converter.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/converters/test_pandapower_converter_input.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/converters/test_pandapower_converter_output.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/converters/test_pgm_json_converter.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/converters/test_tabular_converter.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/converters/test_vision_excel_converter.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/data_stores/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/data_stores/test_base_data_store.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/data_stores/test_csv_dir_store.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/data_stores/test_excel_file_store.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/data_stores/test_json_file_store.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/data_types/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/data_types/test_data_types.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/data_types/test_tabular_data.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/functions/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/functions/test_filters.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/functions/test_functions.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/functions/test_phase_to_phase.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/mappings/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/mappings/test_field_mapping.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/mappings/test_multiplier_mapping.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/mappings/test_tabular_mapping.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/mappings/test_unit_mapping.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/mappings/test_value_mapping.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/utils/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/utils/test_auto_id.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/utils/test_dict.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/utils/test_download.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/utils/test_json.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/utils/test_modules.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/utils/test_parsing.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/utils/test_uuid_excel_cvtr.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/utils/test_zip.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/utils.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/validation/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/validation/conftest.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/validation/converters/__init__.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/validation/converters/test_pandapower_converter_input.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/validation/converters/test_pandapower_converter_output.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/validation/converters/test_vision_excel_converter.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/validation/test_test_utils.py +0 -0
- {power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/validation/utils.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.3.21
|
|
@@ -1744,7 +1744,7 @@ class PandaPowerConverter(BaseConverter[PandaPowerData]):
|
|
|
1744
1744
|
pp_output_buses_3ph["va_b_degree"] = node_u_angle[:, 1] * (180.0 / np.pi)
|
|
1745
1745
|
pp_output_buses_3ph["vm_c_pu"] = node_u_pu[:, 2]
|
|
1746
1746
|
pp_output_buses_3ph["va_c_degree"] = node_u_angle[:, 2] * (180.0 / np.pi)
|
|
1747
|
-
pp_output_buses_3ph["unbalance_percent"] = np.abs(u_sequence[:,
|
|
1747
|
+
pp_output_buses_3ph["unbalance_percent"] = np.abs(u_sequence[:, 2]) / np.abs(u_sequence[:, 1]) * 100
|
|
1748
1748
|
|
|
1749
1749
|
# p_to, p_from, q_to and q_from connected to the bus have to be summed up
|
|
1750
1750
|
self._pp_buses_output_3ph__accumulate_power(pp_output_buses_3ph)
|
|
@@ -1878,10 +1878,10 @@ class PandaPowerConverter(BaseConverter[PandaPowerData]):
|
|
|
1878
1878
|
"i_b_to_ka",
|
|
1879
1879
|
"i_c_to_ka",
|
|
1880
1880
|
"i_n_to_ka",
|
|
1881
|
-
"loading_percent",
|
|
1882
1881
|
"loading_a_percent",
|
|
1883
1882
|
"loading_b_percent",
|
|
1884
1883
|
"loading_c_percent",
|
|
1884
|
+
"loading_percent",
|
|
1885
1885
|
],
|
|
1886
1886
|
index=self._get_pp_ids("line", pgm_output_lines["id"]),
|
|
1887
1887
|
)
|
|
@@ -88,11 +88,18 @@ class ExcelFileStore(BaseDataStore[TabularData]):
|
|
|
88
88
|
|
|
89
89
|
def lazy_sheet_loader(xls_file: pd.ExcelFile, xls_sheet_name: str):
|
|
90
90
|
def sheet_loader():
|
|
91
|
-
|
|
91
|
+
preview = xls_file.parse(xls_sheet_name, header=self._header_rows, nrows=0)
|
|
92
|
+
columns = list(preview.columns)
|
|
93
|
+
dtype = {}
|
|
94
|
+
for col in columns:
|
|
95
|
+
if "Name" in str(col) or (isinstance(col, tuple) and ("Name" in str(col[0]))):
|
|
96
|
+
dtype[col] = str
|
|
97
|
+
sheet_data = xls_file.parse(xls_sheet_name, header=self._header_rows, dtype=dtype)
|
|
92
98
|
sheet_data = self._remove_unnamed_column_placeholders(data=sheet_data)
|
|
93
99
|
sheet_data = self._handle_duplicate_columns(data=sheet_data, sheet_name=xls_sheet_name)
|
|
94
100
|
sheet_data = self._process_uuid_columns(data=sheet_data, sheet_name=xls_sheet_name)
|
|
95
101
|
sheet_data = self._update_column_names(data=sheet_data)
|
|
102
|
+
|
|
96
103
|
return sheet_data
|
|
97
104
|
|
|
98
105
|
return sheet_loader
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: Contributors to the Power Grid Model project <powergridmodel@lfenergy.org>
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
from unittest.mock import MagicMock, mock_open, patch
|
|
6
|
+
|
|
7
|
+
import pandas as pd
|
|
8
|
+
|
|
9
|
+
from power_grid_model_io.data_stores.vision_excel_file_store import VisionExcelFileStore
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@patch("power_grid_model_io.data_stores.excel_file_store.pd.ExcelFile")
|
|
13
|
+
@patch("power_grid_model_io.data_stores.excel_file_store.Path.open", mock_open())
|
|
14
|
+
def test_header_rows(mock_excel_file: MagicMock):
|
|
15
|
+
# Arrange
|
|
16
|
+
store = VisionExcelFileStore(file_path=Path("dummy.xlsx"))
|
|
17
|
+
mock_excel_file.return_value.sheet_names = ["foo"]
|
|
18
|
+
|
|
19
|
+
# Act
|
|
20
|
+
data = store.load()
|
|
21
|
+
data["foo"]
|
|
22
|
+
|
|
23
|
+
# Assert
|
|
24
|
+
assert mock_excel_file.return_value.parse.call_count == 2
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@patch("power_grid_model_io.data_stores.excel_file_store.pd.ExcelFile")
|
|
28
|
+
@patch("power_grid_model_io.data_stores.excel_file_store.Path.open", mock_open())
|
|
29
|
+
def test_name_column_dtype_conversion(mock_excel_file: MagicMock):
|
|
30
|
+
store = VisionExcelFileStore(file_path=Path("dummy.xlsx"))
|
|
31
|
+
mock_excel_file.return_value.sheet_names = ["test_sheet"]
|
|
32
|
+
|
|
33
|
+
preview_df = pd.DataFrame(columns=["Mock.Name", "Other.Column", "ID"])
|
|
34
|
+
|
|
35
|
+
def mock_parse(*args, **kwargs):
|
|
36
|
+
if kwargs.get("nrows") == 0:
|
|
37
|
+
return preview_df
|
|
38
|
+
else:
|
|
39
|
+
actual_data = {
|
|
40
|
+
"Mock.Name": [12345678900000000000, 987.654],
|
|
41
|
+
"Other.Column": ["value1", "value2"],
|
|
42
|
+
"ID": [1, 2],
|
|
43
|
+
"ratio": [0.1, 0.2],
|
|
44
|
+
}
|
|
45
|
+
df = pd.DataFrame(actual_data)
|
|
46
|
+
|
|
47
|
+
if "dtype" in kwargs:
|
|
48
|
+
for col, dtype_val in kwargs["dtype"].items():
|
|
49
|
+
if col in df.columns and dtype_val is str:
|
|
50
|
+
df[col] = df[col].apply(lambda x: str(int(x)) if float(x).is_integer() else str(x))
|
|
51
|
+
|
|
52
|
+
return df
|
|
53
|
+
|
|
54
|
+
mock_excel_file.return_value.parse.side_effect = mock_parse
|
|
55
|
+
|
|
56
|
+
data = store.load()
|
|
57
|
+
result_df = data["test_sheet"]
|
|
58
|
+
|
|
59
|
+
assert mock_excel_file.return_value.parse.call_count == 2
|
|
60
|
+
|
|
61
|
+
first_call = mock_excel_file.return_value.parse.call_args_list[0]
|
|
62
|
+
assert first_call[1]["nrows"] == 0
|
|
63
|
+
|
|
64
|
+
second_call = mock_excel_file.return_value.parse.call_args_list[1]
|
|
65
|
+
assert "dtype" in second_call[1]
|
|
66
|
+
assert "Mock.Name" in second_call[1]["dtype"]
|
|
67
|
+
assert second_call[1]["dtype"]["Mock.Name"] is str
|
|
68
|
+
|
|
69
|
+
assert result_df["Mock.Name"][0] == "12345678900000000000" # Long int as string
|
|
70
|
+
assert result_df["Mock.Name"][1] == "987.654" # Float as string
|
|
71
|
+
assert result_df["Other.Column"][0] == "value1"
|
|
72
|
+
assert result_df["Other.Column"][1] == "value2"
|
|
73
|
+
assert result_df["ID"][0] == 1
|
|
74
|
+
assert result_df["ID"][1] == 2
|
|
75
|
+
assert result_df["ratio"][0] == 0.1
|
|
76
|
+
assert result_df["ratio"][1] == 0.2
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1.3.19
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# SPDX-FileCopyrightText: Contributors to the Power Grid Model project <powergridmodel@lfenergy.org>
|
|
2
|
-
#
|
|
3
|
-
# SPDX-License-Identifier: MPL-2.0
|
|
4
|
-
from pathlib import Path
|
|
5
|
-
from unittest.mock import MagicMock, mock_open, patch
|
|
6
|
-
|
|
7
|
-
from power_grid_model_io.data_stores.vision_excel_file_store import VisionExcelFileStore
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
@patch("power_grid_model_io.data_stores.excel_file_store.pd.ExcelFile")
|
|
11
|
-
@patch("power_grid_model_io.data_stores.excel_file_store.Path.open", mock_open())
|
|
12
|
-
def test_header_rows(mock_excel_file: MagicMock):
|
|
13
|
-
# Arrange
|
|
14
|
-
store = VisionExcelFileStore(file_path=Path("dummy.xlsx"))
|
|
15
|
-
mock_excel_file.return_value.sheet_names = ["foo"]
|
|
16
|
-
|
|
17
|
-
# Act
|
|
18
|
-
data = store.load()
|
|
19
|
-
data["foo"]
|
|
20
|
-
|
|
21
|
-
# Assert
|
|
22
|
-
mock_excel_file.return_value.parse.assert_called_once_with("foo", header=[0, 1])
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/__init__.py
RENAMED
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/config/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/__init__.py
RENAMED
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/auto_id.py
RENAMED
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/dict.py
RENAMED
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/download.py
RENAMED
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/json.py
RENAMED
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/modules.py
RENAMED
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/parsing.py
RENAMED
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/src/power_grid_model_io/utils/zip.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/config/dummy_mapping.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pgm_input_data.json
RENAMED
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pgm_output_data.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/pandapower/pp_validation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/pgm_input_data_en.json
RENAMED
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/pgm_input_data_nl.json
RENAMED
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_9_5_en.yaml
RENAMED
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_9_5_nl.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_en.xlsx.license
RENAMED
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_en_9_7.xlsx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_nl.xlsx.license
RENAMED
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/vision/vision_validation.vnf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/data/zip/foo-bar.zip.license
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/data_stores/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/data_types/test_data_types.py
RENAMED
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/data_types/test_tabular_data.py
RENAMED
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/functions/test_filters.py
RENAMED
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/functions/test_functions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/mappings/test_field_mapping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/mappings/test_unit_mapping.py
RENAMED
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/mappings/test_value_mapping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/unit/utils/test_uuid_excel_cvtr.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/validation/converters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{power_grid_model_io-1.3.19 → power_grid_model_io-1.3.21}/tests/validation/test_test_utils.py
RENAMED
|
File without changes
|
|
File without changes
|