
A Supplier Price List With Merged Header Rows Fixed
A price list CSV has title lines, a header on row 4, category names written once per group and a footer. Skip, forward fill, filter and check the item count.
Tag
590 posts

A price list CSV has title lines, a header on row 4, category names written once per group and a footer. Skip, forward fill, filter and check the item count.

An analytics CSV writes numbers as text: 12,430, 42.5%, $1,204.50, (4.1%) and dashes. Convert them with one macro and prove nothing is left unparsed.

A CRM export has notes with line breaks inside quoted fields, so line counts and grep mislead. Parse by records, then flatten the breaks or keep them.

A product export writes names with commas and no quotes, so rows have 6 fields, not 4. Rejoin the middle fields from the good ends and verify every row.

A statement mixes 2026-03-04 and 05/03/2026 in one column. Classify each row, prove the slash order from the data, convert, and check the dates are in order.

Store uploaded Excel files and their parsed rows in PostgreSQL: keep the original, stage, track errors, dedupe by hash and link rows to uploads.

Import XML into PostgreSQL with xmltable: XPath row and column paths, namespaces, attributes, nested elements, large files and validation of a feed.

Build clear Excel charts from database data: shape the query, pick the chart, keep ranges live, avoid misleading axes, add sparklines, export images.

Use SUMPRODUCT for weighted averages, OR conditions, multi-column counts and arithmetic before summing, with its speed limits and what to use instead.

Create Excel files in Rust with rust_xlsxwriter: typed cells, formats, dates, constant memory mode for large files, and reading workbooks with calamine.

Read xlsx files in Ruby with Roo, including headers, typed cells, dates and streaming, and write workbooks with Caxlsx, with notes for Rails uploads.

Write and read Excel files in Go with Excelize: create a workbook, typed cells and styles, the stream writer for big exports and a row iterator.