Data cleanup · List building · PDF extraction

I clean up the data
nobody wants to touch.

Spreadsheets, PDFs, and messy exports — done to spec, on time. When the job repeats, I automate it, and you get the script along with the file.

Two of the three examples below run on public data. You can download the source and check my output against it.

Record 0016371-DCA
applying…
Business name
JAMES ROBINSON, INC.James Robinson, Inc.Rebuilt from all caps, keeping Inc., initials and Mc- names intact
Phone
2127526166(212) 752-6166One of eight phone formats found in the file, normalised to one
Address
480 PARK AVENUE480 Park AvenueCased to match the rest of the file; doubled spaces collapsed
Licensed since
2003-10-31T00:00:00.0002003-10-31Time component dropped — the export added it, the data never had it
One real row of 6,000, from a public NYC business register. Nothing here is illustrative — this is the actual before and after.

Worked examples

Three jobs, start to finish

Each one includes the source data, the numbers, the files you would have received, and the script that produced them. Two are real work on public datasets. One is a sample project, and it says so.

Scope

What a project looks like

Rates depend on the file, so I quote per job rather than publish a number that would be wrong for yours. What does not change is the shape of the work.
Typical size
1,000 to 20,000 rows, or 10 to 200 pages of PDF
Turnaround
Two to three working days. Same day under 1,000 rows
Revisions
One round included, against the agreed format spec
You receive
The clean file, a separate file of flagged rows with reasons, and the script that produced both
Delivered in
Google Sheets, Docs and Slides, or Excel, Word and PowerPoint — whichever your team already opens. CSV in the encoding and delimiter you specify
Before I start
One filled-in example row from you, so the format is agreed rather than assumed

Formats

The files you already work in

I work in both suites, and which one a job lands in is your choice, not mine. Tell me what you open the file with and that is what arrives — moving between the two is not a conversion step I bill for.

Google Workspace

Sheets · Docs · Slides

Shared straight to your Drive at whatever access level you want, so there is no download-and-reupload round trip and only ever one live copy of the file.

Microsoft Office

Excel · Word · PowerPoint

Delivered as .xlsx, .docx and .pptx, each one opened and checked after export rather than sent straight out of a script.

Either way the file arrives the same: validation rules and conditional formatting intact, formulas left live rather than flattened into pasted values, named to a stated convention, and documented well enough to hand to the next person. The sample workbook shows exactly that, and you can download it and check.

Method

How the work runs

Four habits that account for most of the difference between a file you can use and a file you have to check.
  1. 01

    Agree the format first

    One example row you have already filled in, and a note of which columns may be empty. Most rework on this kind of job comes from guessing this instead of asking.

  2. 02

    Send a sample back early

    The first 50 rows, delivered before the rest is touched. If the format is wrong, it is wrong 50 rows in, not 6,000.

  3. 03

    Never invent a value

    A missing phone number stays missing and lands in the flagged file with the reason. A blank cell you can act on beats a confident guess you cannot check.

  4. 04

    Prove it before delivery

    Row counts, duplicate checks, and — where the source has a structure to check against — a completeness pass. The numbers on this site come from that step.

Straight answer

Why a software engineer takes this work

Because most of it is repetitive, and repetition is what code is for. A list that would take two days by hand takes an afternoon when the rules are written once and run 6,000 times — and the rules can then be re-run when you send the next batch.

The practical difference for you: the work does not get slower as the file gets bigger, every change is applied consistently rather than mostly consistently, and I can tell you exactly what was changed and what was left alone. That last part is the whole job.

Contact

Send me the file

A sample of the data and a sentence about what you need it to look like is enough for a quote. If the file is sensitive, send twenty rows with the names changed — the format is what I need to see.