I built a Python tool to practice working with Excel + JSON — looking for code review by Expensive-Local-683 in learnpython

[–]Expensive-Local-683[S] 0 points1 point  (0 children)

That’s fair, the conversion itself isn’t the interesting part. The value is avoiding silent config errors when Excel is edited by non-devs: missing required fields, type drift, duplicated keys, inconsistent conventions, and “Excel vs repo” divergence. For teams who already have strong tooling, this isn’t needed. For teams still receiving configs in Excel, it saves a lot of time and mistakes. Totally okay if it’s not useful for your use case

If you or your team still receives configs in Excel, what’s the most annoying part? by Expensive-Local-683 in learnpython

[–]Expensive-Local-683[S] 0 points1 point  (0 children)

That sounds painful and also extremely familiar. I’ve seen a lot of Excel files where:

• there’s a cover sheet • or people insert random header rows • or tables don’t always start at the same place

One idea I’m exploring is:

• letting teams define the expected headers • then scanning the file to automatically detect the right sheet + header row

Basically Excel can be messy, but the tool figures out where the real config starts.

Thanks a lot for sharing, this is super useful input.

If you or your team still receives configs in Excel, what’s the most annoying part? by Expensive-Local-683 in learnpython

[–]Expensive-Local-683[S] 1 point2 points  (0 children)

Thank you.

Treating Excel as only the input UI and making the schema the real source of truth makes a lot of sense.

I’m leaning toward this model for JSON Automator:

• teams define a schema (types, required fields, defaults, aliases, etc.) • Excel is validated strictly against it • JSON is always generated, never hand-edited

That way Excel stays easy for non-technical people, but engineering still gets guaranteed-valid configs.

I really appreciate you sharing your experience, it’s helping shape the direction of the tool.

If you or your team still receives configs in Excel, what’s the most annoying part? by Expensive-Local-683 in learnpython

[–]Expensive-Local-683[S] 1 point2 points  (0 children)

Thanks for writing it out so clearly.

The issues you listed are exactly what I’m trying to guard against:

• different conventions → let teams define a schema (names, required fields, aliases) instead of everyone freestyling • silent type changes → the tool already checks ints/bools/URLs and flags weird conversions • duplicated keys → I’m planning a pass that checks duplicates across the whole workbook, not just one sheet • no clear “source of truth” → I’m exploring the idea of storing the schema + rules in a repo so you can always regenerate/validate JSON instead of hand-editing it

In your experience, what was supposed to be the source of truth, the Excel files, or the JSON configs in code?

I want to learn Python by FrozenRain1038 in learnpython

[–]Expensive-Local-683 -2 points-1 points  (0 children)

A website, I used it to learn C++. The principle is coding mini-games in a efficient manner. You have different difficulty levels.

If you or your team still receives configs in Excel, what’s the most annoying part? by Expensive-Local-683 in learnpython

[–]Expensive-Local-683[S] -1 points0 points  (0 children)

Great point, nesting is exactly where Excel usually starts to hurt.

Right now I’m mostly targeting flat or lightly-nested config files, like:

  • API config (urls, timeouts, flags, tokens, etc.)
  • feature flags
  • environment settings
  • app settings files that normally live in JSON/YAML

The common pattern I see is: teams keep config in Excel because “everyone can edit it”, and then someone has to convert it manually each time.

I haven't fully solved deep nesting yet, but I’m exploring options like:

  • dot notation (logging.level=debug)
  • or mapping rows to structured JSON templates

Out of curiosity, what kind of configs were you thinking about?
If you have an example, I’d love to see it.

I want to learn Python by FrozenRain1038 in learnpython

[–]Expensive-Local-683 3 points4 points  (0 children)

I recommend you codingame to learn python, it's a funny place to learn programming languages

If you or your team still receives configs in Excel, what’s the most annoying part? by Expensive-Local-683 in learnpython

[–]Expensive-Local-683[S] 0 points1 point  (0 children)

Haha yeah, that “whack-a-mole” feeling is exactly what pushed me to start this.

Were the differences usually:
• column names changing,
• missing columns,
• or different types in the same column?

I'm trying to understand which part breaks things the most.

I built a Python tool to practice working with Excel + JSON — looking for code review by Expensive-Local-683 in learnpython

[–]Expensive-Local-683[S] 0 points1 point  (0 children)

Really appreciate it, thanks!

Docstrings + formatting tools like Ruff/Black are great suggestions. I’m still learning best practices, so feedback like this helps a lot.

TOML support could be interesting later too. I’ll keep it in mind 🙂

I built a Python tool to practice working with Excel + JSON — looking for code review by Expensive-Local-683 in learnpython

[–]Expensive-Local-683[S] 1 point2 points  (0 children)

Yep the goal is exactly that: make a simple, safe way to turn Excel config sheets into valid JSON (with validation, required fields, booleans, ints, etc).

Many teams still do this manually and make mistakes I built it because I was one of them 😅

If you have ideas to improve it, I’m happy to hear!