Logic to handle optional_extra in Vision Excel converter input - #344
Conversation
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
There was a problem hiding this comment.
Pull request overview
This PR implements logic to handle optional extra columns in the tabular converter, addressing issue #338. The feature allows specifying columns that should be included in extra_info if present but won't cause conversion failure if missing.
Key Changes:
- Added
allow_missingparameter throughout the column definition parsing chain to support optional columns - Implemented
optional_extrawrapper in column definitions to mark columns as optional - Enhanced error handling to gracefully skip missing optional columns while preserving required column behavior
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| src/power_grid_model_io/converters/tabular_converter.py | Core implementation of optional_extra logic with allow_missing parameter propagation and empty DataFrame handling for missing columns |
| tests/unit/converters/test_tabular_converter.py | Comprehensive test coverage for optional_extra feature including edge cases and integration tests |
| docs/converters/vision_converter.md | Documentation explaining optional_extra syntax, behavior, and use cases for Vision Excel exports |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Jerry Guo <6221579+Jerry-Jinfeng-Guo@users.noreply.github.com>
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 13 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Jerry Guo <6221579+Jerry-Jinfeng-Guo@users.noreply.github.com>
Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Jerry Guo <6221579+Jerry-Jinfeng-Guo@users.noreply.github.com>
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
Comments from Martijn Co-authored-by: Martijn Govers <martijn.govers@alliander.com> Signed-off-by: Jerry Guo <6221579+Jerry-Jinfeng-Guo@users.noreply.github.com>
Comments from Martijn Co-authored-by: Martijn Govers <martijn.govers@alliander.com> Signed-off-by: Jerry Guo <6221579+Jerry-Jinfeng-Guo@users.noreply.github.com>
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
mgovers
left a comment
There was a problem hiding this comment.
probably good to have multiple people review this as it's quite a complex PR
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
|
Apologies! Did not mean to close it. Apparently, referencing that it resolves a specific comment in this PR made GitHub think that it actually resolves the entire PR. Not great. |
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
Signed-off-by: Jerry Guo <6221579+Jerry-Jinfeng-Guo@users.noreply.github.com>
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
figueroa1395
left a comment
There was a problem hiding this comment.
Minor final remarks. From my perspective we can merge after addressing them.
Side note: I resolved/addressed remaining open comments such that it wouldn't be blocking.
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
Jerry-Jinfeng-Guo
left a comment
There was a problem hiding this comment.
Comments addressed in the form of updated code, test or replies. see 734345b
|
figueroa1395
left a comment
There was a problem hiding this comment.
Looks good to me, nothing more to add. The remaining sonar warning is irrelevant.



Closes #338
In this PR:
optional_extra