
Designing Database Tables From a Messy Excel Sheet
Turn a wide Excel sheet into database tables: find the entities, choose keys, remove repeated groups and derived columns, and check the design with queries.
Everything you need to level up your coding skills.

Turn a wide Excel sheet into database tables: find the entities, choose keys, remove repeated groups and derived columns, and check the design with queries.

Move an Excel workbook into PostgreSQL: staging table, clean, normalized tables, constraints, roles, a verified load, and Excel as the read connection.

Move an Excel list into SQLite: clean it, design tables, load with Python, add constraints, query from Excel and know the limits for a small team.

Ten concrete signs that an Excel file has become a database, from several editors to lost updates and broken lookups, with a quick test for each.

How to tell that an Excel file now behaves as a database, choose SQLite, Access or PostgreSQL, design tables, migrate safely and keep Excel as a reader.

Test a generated Excel report with pytest: structure, control totals, formulas, formats and edge cases, plus a fixture of bad input and a golden file.

Edit a YAML file in code and keep its comments, anchors and quotes. PyYAML drops them, ruamel.yaml and yq keep them, and each changes some whitespace.

Define a block once with an anchor, reuse it with an alias, and merge it with the merge key. Real output shows overrides, sharing and where merging stops.

Block and flow styles for sequences and mappings, lists of mappings, empty collections and why a missing value is None, each with its parsed result.

The pipe keeps line breaks, the greater than sign folds them, and chomping indicators control the final newline. Six variants and the exact strings.

Plain, single quoted and double quoted YAML strings compared, with the characters that force quotes and a table of values that silently change type.

How YAML uses spaces to build structure, why a tab is rejected, and how one extra space turns a sibling into a child. Real parser output for each case.
We send one email when a new article is published. No spam.